2013-03-21 7 views
0

Я работаю над некоторым кодом VB6 для подключения к базе данных для возврата определенного подмножества данных. Вся необходимая информация находится в одной таблице, но у меня возникли проблемы с установкой правильного подхода к выбору моих результатов на основе результатов другого запроса.VB6 SQL Выбор результатов на основе результатов другого запроса

Ниже SQL генерируется Access, когда я создал мои вопросы там, но я пытаюсь преобразовать их для использования в моем VB6 приложения:

«* EDIT -

" & Chr(34) & lstAb.Text & Chr(34) & " 

выше благодаря Дэвиду толкнул этот код в правильном направлении. Оттуда я использовал окно отладки, чтобы подтвердить свой выбор в Access, который был действительно великолепным опытом. Нужно было немного изменить мои псевдонимы, но все стало очевидным, когда Access попросил меня указать другие ценности, которые должны были быть объявлены.

Еще раз спасибо Дэвиду!

ответ

1

Возможно, вам будет намного лучше выполнять некоторые правильные соединения между двумя таблицами, а не указывать подзапрос. Однако, это не проблема, я не думаю.

Рассматривая код, я считаю, что вам не хватает кавычек вокруг ваших критериев. Вы говорите:

"...clone_id = " & lstAb.Text & ") ORDER..." 

Это, вероятно, следует:

"...clone_id = " & Chr(34) & lstAb.Text & Chr(34) & ") ORDER..." 

дать вам цитаты вокруг текста, найденного в lstAb.Text.

Простой способ проверить эти функции - Debug.Print(sSql) и посмотреть окно Debug, чтобы посмотреть, как выглядит SQL. Возьмите копию этого SQL, отбросьте его в новый запрос в MSAccess (вы можете сказать запрос «View SQL»), а затем попытаться выяснить, где это происходит.

Это намного проще, если у вашего запроса нет вложенного запроса, поскольку вы можете просмотреть конструктор запросов.

+0

Спасибо за подсказку! Прошло много лет с тех пор, как я работал с VB6, и многое из этого ускользнуло от меня. Здесь я отправлял дымовые сигналы себе через окна сообщений, а окно отладки идеально подходит для устранения этой проблемы. Я снова отредактирую свой пост, как только я его разрешу! Спасибо за вашу помощь Дэвид! – Bernard

+0

Держите эти навыки VB6 удобными - это COBOL будущего (я помню Y2K, когда эти ребята были выведены из отставки и заплатили небольшую судьбу). –

+0

Спасибо, Дэвид. Ваша помощь заставила меня вернуться на правильный путь, и ваш наконечник положил улыбку на мое лицо в течение дня. При виде VB6 он скривился, но каждый язык и приложение могут служить цели, которую я предполагаю. – Bernard

0

Вы указываете Details.func_ID) Like "Simp_*". В вашем примере данных нет записей с строкой Simp_.

+0

Приношу свои извинения Джорджу. Макет образца на самом деле не совпадает с тем, что я получил из Access. Я отредактирую свой пост, чтобы отразить фактические данные и заявления, с которыми я работаю! – Bernard

Смежные вопросы