Конференция "Базы" » ADO+Access - не могу создать хранимую процедуру. [D7, ACCESS]
 
  • Alex_C (20.11.11 14:22) [0]
    Делаю

       S := 'CREATE FUNCTION CalcSum(@intValue1 INTEGER, @intValue2 INTEGER) ' +
         'RETURNS INTEGER AS ' +
         'BEGIN ' +
         '  RETURN @intValue1 + @intValue2 ' +
         'END';

       ADOCommand1.CommandText := S;
       ADOCommand1.Execute;



    Получаю ошибку 'Ошибка синтаксиса в инструкции CREATE TABLE'
  • Inovet © (20.11.11 14:31) [1]
    Взяли и облажали Firebird в прошлой ветке, а человек теперь мучается с Аксесом.
  • Alex_C (20.11.11 14:41) [2]

    > Firebird


    FireBird не умеет к сожалению TRANSFORM  PIVOT.
  • Inovet © (20.11.11 15:07) [3]
    > [2] Alex_C   (20.11.11 14:41)
    > FireBird не умеет к сожалению TRANSFORM  PIVOT.

    Не велика беда. Такое нужно в основном в отчётах, а это тот же FastReport умеет. А что, в последних версиях ФБ не добавили перектрёстные запросы?
  • Inovet © (20.11.11 15:10) [4]
    Приоритет был - без инсталяции. ФБ можно встраивать в программу без инсталяции, но только для монопольного доступа, естественно.

    Ну да ладно, это другая тема.
  • DiamondShark © (20.11.11 17:06) [5]

    > Получаю ошибку 'Ошибка синтаксиса в инструкции CREATE TABLE'

    Ты ему верь. Он не врёт.

    В Акцесе нет хранимых процедур и функций.
  • Alex_C (20.11.11 18:27) [6]

    > Ты ему верь. Он не врёт.
    >
    > В Акцесе нет хранимых процедур и функций.


    Это я уже понял.
    Ф-ций как я понял нет. Процедуры - есть.

    Тогда есть ли в Эксесе сделать нечто подобное


    SELECT Field FROM Table WHERE Field = MyFunc(Field2);




    >  Такое нужно в основном в отчётах


    FireBird конкретно для моего случая как раз очень сильно уступает Эксесу. Есть аналогичная программа моей на FB - автор проф по БД. Сейчас признает сам что ошибся с выбором БД, хотя сам сторонник именно FB.
  • Игорь20111121 (21.11.11 15:09) [7]
    В акцессе в запросах можно использовать функции написанные на VBA.
    А вот хранимых процедур - нету :D
  • Игорь20111121 (21.11.11 15:10) [8]
    Хитрый нюанс использования ф-ций VBA в запросах: Параметры функций разделяются точкой с запятой
  • sniknik © (21.11.11 15:16) [9]
    > Хитрый нюанс использования ф-ций VBA в запросах:
    jet это не аксесс, не видит написанное...
    а тут везде хоть и пишут аксесс, подразумевают jet.

    или есть какой способ связывания, про который я не в курсе?
  • Anatoly Podgoretsky © (21.11.11 15:24) [10]
    > Игорь20111121  (21.11.2011 15:09:07)  [7]

    Оно без ключевого слова Stored

    > Инструкция CREATE PROCEDURE, предложение PROCEDURE,

    Тоже VBA
  • Alex_C (21.11.11 21:52) [11]

    > В акцессе в запросах можно использовать функции написанные
    > на VBA.


    > jet это не аксесс, не видит написанное...
    > а тут везде хоть и пишут аксесс, подразумевают jet.


    Так в принципе можно в Accesse организовать запрос типа

    SELECT Field FROM Table WHERE Field = MyFunc(Field2);



    Меня в принципе устроит даже вариант такой: в Эксесе на VB сделать ф-цию, а потом из запроса ее вызвать. Такая возможность есть?
  • sniknik © (21.11.11 22:20) [12]
    > Такая возможность есть?
    писать в access... теоретически (никогда не пользовался, писал только в дельфи используя базу/движок).
  • sniknik © (21.11.11 22:26) [13]
    например, есть такая забавная функция Nz... она есть в access но не доступна в jet... вот она похоже так и сделана.
  • DiamondShark © (21.11.11 23:31) [14]

    > Меня в принципе устроит даже вариант такой: в Эксесе на
    > VB сделать ф-цию, а потом из запроса ее вызвать. Такая возможность
    > есть?

    Есть. Для приложений Access.
  • Германн © (22.11.11 00:56) [15]

    > Есть. Для приложений Access.

    Т.е. Они есть, но для избранных. Я правильно понял?
  • sniknik © (22.11.11 07:56) [16]
    какая же "писание в access" избранность? для ограниченных скорее.
  • Anatoly Podgoretsky © (22.11.11 10:02) [17]

    > Такая возможность есть?

    Такая возможность есть, это ADOX
 
Конференция "Базы" » ADO+Access - не могу создать хранимую процедуру. [D7, ACCESS]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]