|
|
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
Вправьте руки, плиз. Есть некоторые данные, которые передает форма. Нужно выполнить поиск по одому из полей в таблице Data. Если есть запись, удовлетворяющая условию, то открыть новую форму, куда вывести данные из таблицы. Если данных нет, то показать сообщение. Интересует вот что. Как можно определить, что запрос вернул какие-то данные? Я привык к php-mysql, там это делается очень просто с помощью функции mysql_num_rows. А как это делается в Access? Заранее благодарю за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 15:30:48 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
DCount - например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 15:47:50 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
А немного подробнее можно? Я с Access столкнулся три дня назад =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 15:53:39 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
например DCount("имя_поля", "имя_таблицы", "условие_отбора") вернет количество записей в поле из таблицы по условию. Хотя, вобщето возможностей гораздо бльше. Еще подробнее - поставь курсор на DCount и жмакни F1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2005, 18:37:22 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
ОК, с DCount я разобрался. А как быть с запросами? QueryDef, QueryDefs... Я совсем в этом запутался =((( В примерах вроде как все через рекордсеты делается, а у меня постоянно вылетает ошибка =( Пример можно привести или ссылку дать, где пример есть разобраный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 10:55:06 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
поиск по конфе на слово recordset даст избыток примеров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 12:19:54 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
Одинаковые задачи в коде можно решить разными способами. Можно открывать Recordset'ы и через них манипулировать данными. RecordCount, Find'ы, Edit, AddNew... Можно дергать функции DCount, Dlookup, Dmin, Dmax ... и использовать вызовы CurrentProject.Connection.Execute ("INSERT .... или UPDATE или еще что-нибудь). Каждый способ имеет свои преимущества и недостатки. Иногда применим только первый или второй. Мне больше нравится второй метод - он ближе к SQL кодированию на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 13:47:43 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
strSQL = "SELECT [Properties].* FROM [Properties] WHERE [Properties]![icc_part]=Forms!Search!sfield" Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) *** DoCmd.OpenForm ("Search_Results") Forms.Search_Results.iccfull.Value = rs![icc_full].Value rs.Close Это кусок кода из функции, описанной для формы поиска. Когда я запускаю поиск, у меня вылетает ошибка "Слишком мало параметров. Требуется 1". После нажатия на кнопку Debug подсвечивается строчка с ***. Я вот чего не могу понять: если мне нужно выбрать все поля для записи, удовлетворяющей условию, мне нужно отдельно каждое поле указывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 14:02:43 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
nimandstrSQL = "SELECT [Properties].* FROM [Properties] WHERE [Properties]![icc_part]=Forms!Search!sfield" синтаксис не верен Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 14:12:51 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 14:21:01 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
Скобку в лукапе не закрыл. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 14:21:47 |
|
||
|
Access+VB - как сделать запрос?
|
|||
|---|---|---|---|
|
#18+
Ну на самом деле, у меня там в выборке должно быть около двадцати полей, поэтому "короткий" метод автоматически станет длинным =) Тут теперь в другом дело. Я сделал так strSQL = "SELECT [Properties].* FROM [Properties] WHERE [Properties]![icc_part]=" & Me!sfield Теперь проблема в несоответствии типов =( Дело в том, что icc_part это текстовое поле, в котором хранятся цифры. Текстовое оно по одной простой причине: очень часто первой цифрой идет ноль, который отрезается аксессом =( В форме поиска поле имеет тип "Общий", т.е. числовой. Может можно как-то заставить не отрзать первый ноль в числе? Тогда, я думаю, проблема будет решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 15:10:03 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1500&tid=1669403]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 384ms |

| 0 / 0 |
