1. Есть БД - MDB в которой записал Query- "qryMy". В програме создается ADO Connection и ADO Command. Потом:
cmdMy.ActiveConnection = cnMy
cmdMy.CommandType = adCmdUnknown
cmdMy.CommandText = "qryMy"
comW.Parameters.Append comW.CreateParameter("P_DAT",...)
comW.Parameters.Append comW.CreateParameter("P_ID",...)
Все работало, но после редактирования "qryMy" Access переставил места аргументов в SQL запросе. Теперь, когда вызываю qryMy в Access, спрашивает дату и уже потом ID. А из VB вообще не работало, пока не переставил создание параметров:
comW.Parameters.Append comW.CreateParameter("P_ID",...)
comW.Parameters.Append comW.CreateParameter("P_DAT",...)
Зачем тогда вообще нужны имена аргументов, если VB передает их в последовательности востребования? Или может быть я неправильно задал имена параметров - в myQry - [P_DAT] и [P_ID], в VB пробывал через "P_ID" и "[P_ID]" - без разницы.
2.Когда аргумент - дата, почемуто Access трансформирует аргумент, если вызвать cmdMy второй раз:
01.04.2004 -> 04.01.2004
Аргумент передаю как дату (DataPicker.Value, но пробывал через
format(DataPicker.Value,"yyyy/mm/dd")). В первый раз все работает, но если възвать cmdMy во второй раз (меняю ID), возвращаемый recordset соответствует перевернутой дате. А если уничтожить qryMy и создать заново, каждый раз - все работает.
P.S. Извините за долгий вопрос