Страница: 1 |
Наверное вопрос ламерский, но чего-то переклинило - не могу додуматься. Таблица в базе данных Tab |id|Name1|Name2| |1 |1 |1 | |2 |1 |2 | |3 |1 |3 | rsTab.MoveFirst While Not rsTab!Name1 = TreeView1.SelectedItem rsTab.MoveNext Wend Text1.Text = rsTab!Name2 из rsTab!Name1, при клике на ноду с текстом 1 открывается первая запись в базе данных: 1__1, а 1__2, 1__3 не открываются. Показывается только первая запись: 1__1 А как с остальными? Чувствую дело в запросе на выборку по id, но как его написать не знаю...
Во первых, при чем тут SQL, в упор не вижу никаких SQL запросов. Во вторых тут у тебя естественно запись в таблице будет вставать на первую и будет выход из цикла. SQL запрос будет выглядеть так, если я правильно понял задачу: select name2 from rsTab where name1=TreeView1.SelectedItem где rsTab это название твоей таблицы, а вместо TreeView1.SelectedItem добавляется соответствующее значение. Затем то что полученно по запросу в цикле выводишь на экран, и выведется 1__1, 1__2 и 1__3. Уж как это тебе надо выводить думай сам. Причем тут выборка по id тоже не понятно, у тебя тут id вовсе не используется. Если я че то не правильно понял, то опиши конкреней что тебе надо сделать. sSQL = "SELECT * FROM Tab WHERE Tab.Name1 = " & CStr(TreeView1.SelectedItem) Это твоя строка с SQL-запросом, а как из нее RecordSet получить - твоя основная задача... Dim myDinInf As Recordset, myDBInf As Database Set myDBInf = DBEngine.Workspaces(0).OpenDatabase(dirNet & "inform.mdb") Set myDinInf = myDBInf.OpenRecordset(sSQL, dbOpenDynaset) вот тебе и RecordSet. optimizm 1.Я бы и рад без запроса, но как тогда вытащить одинаковые значения? 2.Увы у меня ADO Jet 4.0 DM32 не понял твой последний ответ. Напиши полностью весь блок. Я так понимаю rsTab это твой RecordSet, откуда он берется покажи. Или может RecordSet это уже полученный по SQL запросу. Тогда тебе в цикле надо поменять условие, убрать Not и все, он будет пробегать по всей таблице где значения совпадают и в цикле же надо выводить значения. Set con = New Connection con.Provider = "microsoft.jet.oledb.4.0" con.ConnectionString = "user ID=admin; password=;" & _ "data source=" & App.Path & "\db1.mdb" con.Open Set rsTab = New Recordset With rsTab .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open "Select * from Tab", con End With Вроде Н.Г. прошёл но чего-то ничего сообразить не могу. Вот там где у тебя написано .Open(...), вместо твоего запроса впиши этот запрос "SELECT * FROM Tab WHERE Tab.Name1 = " & CStr(TreeView1.SelectedItem) А затем в цикле беги поменяв условие, т.е. убрав Not, и каждое значение записывая куда там тебе надо. Не получается ошибка 91 Ответ найден, всем большое спасибо! Страница: 1 |
Вопрос: SQL запрос ???
Добавлено: 22.01.04 09:04
Автор вопроса: Dm32
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
optimizm
Вопросов: 2
Ответов: 7
Профиль | | #1
Добавлено: 22.01.04 09:19
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 22.01.04 15:04
Номер ответа: 3
Автор ответа:
optimizm
Вопросов: 2
Ответов: 7
Профиль | | #3
Добавлено: 22.01.04 15:09
Номер ответа: 4
Автор ответа:
Dm32
Вопросов: 2
Ответов: 4
Профиль | | #4
Добавлено: 23.01.04 02:26
Номер ответа: 5
Автор ответа:
optimizm
Вопросов: 2
Ответов: 7
Профиль | | #5
Добавлено: 23.01.04 07:55
Номер ответа: 6
Автор ответа:
Dm32
Вопросов: 2
Ответов: 4
Профиль | | #6
Добавлено: 23.01.04 08:52
Номер ответа: 7
Автор ответа:
optimizm
Вопросов: 2
Ответов: 7
Профиль | | #7
Добавлено: 23.01.04 09:03
Номер ответа: 8
Автор ответа:
Dm32
Вопросов: 2
Ответов: 4
Профиль | | #8
Добавлено: 23.01.04 09:08
Номер ответа: 9
Автор ответа:
Dm32
Вопросов: 2
Ответов: 4
Профиль | | #9
Добавлено: 29.01.04 02:12