Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Прошу помочь с прграммой на VB6

175  
banach прохожий08.11.14 23:39
NEW 08.11.14 23:39 
Прошу помочь с программой, написанной на VB6
В работающей программе имеется запрос:
"Select * From [Table] WHERE [Pole1] = " & Q & ""
Необходимо добавить к нему условие, которое отдельным запросом описывается так:
"Select" * From [Table] WHERE [Pole2] = (Select Max(Pole2) From Table)"
Второй запрос отдельно работает, но как оба запроса объединить в один или выполнить последовательно, не представляю.
Я не программист. Прошу помощи профи. Желательно в виде готового кода. Заранее признателен
#1 
Murr патриот09.11.14 00:34
Murr
NEW 09.11.14 00:34 
в ответ banach 08.11.14 23:39
на VB6
------
VB6 здесь и близко нету
Первый Select - не может выполнятся - синтаксическая ошибка имеется
Второй Select - тоже не выполним - тоже синкасическая ошибка
Ты бы написал по-русски что именно ты пытаешься сделать - может кто чего и посоветует...
А в остальном - бросил бы ты это дело - там и спецы не всегда справляются...
#2 
  digital.pilot патриот09.11.14 01:14
digital.pilot
NEW 09.11.14 01:14 
в ответ banach 08.11.14 23:39, Последний раз изменено 09.11.14 01:17 (digital.pilot)
не совсем понятно, чего хочешь.
1-й запрос выбирает записи с конкретным значением pole1
2-й запрос выбирает записи с максимальным значением pole2
что значит "объединить"? Какой результат вообще нужен? Все записи, в которых одновременно и pole1 будет иметь конкретное значение Q, и pole2 будет максимально возможным? Тогда:
"Select * From [Table] WHERE [Pole2] = (Select Max(Pole2) From Table) AND [Pole1] = " & Q
Еще желательно на всякий случай знать тип полей 1 и 2, а также что за СУБД используется (база данных какая).
#3 
banach прохожий09.11.14 10:44
NEW 09.11.14 10:44 
в ответ digital.pilot 09.11.14 01:14
Спасибо за отклик, digital.pilot!
Задача понята абсолютно правильно.
Дополнительные сведения:
- СУБД: MDS Access
- Pole1 : значение формируется автоматически при создании записи (Autowert)
- Pole2: текст
- Dim Q as String

C запросом, который ты предложил, так же не получается: если в записи с максимальным значением в Pole1 в Pole2 содержится значение Q,
то VB не находит эту запись. Выдается сообщение типа "записей не найдено" ("Kein aktueller Datensatz")
При этом запрос только на поиск максимального значения в Pole1 работает нормально.
Bitte um weitere Hilfe :)
#4 
banach прохожий09.11.14 11:30
NEW 09.11.14 11:30 
в ответ banach 09.11.14 10:44, Последний раз изменено 09.11.14 11:31 (banach)
забыл написать: формат поля Pole1 - число
#5 
Murr патриот09.11.14 12:12
Murr
NEW 09.11.14 12:12 
в ответ banach 09.11.14 10:44
Bitte um weitere Hilfe
-----
>> что значит "объединить"? Какой результат вообще нужен?
Будет что-то вида:
"SELECT TOP 1 * FROM TABLE WHERE Pole2 = '" & Q & "' ORDER BY Pole1 DESC"
Есть еще вариант с группировкой, но что-то мне говорит, что Pole1 скорее всего уникально и такая выборка бессмысленна.
VB не находит эту запись
-----
Если совпадают условия - найдет. Т.е. на фактических данных условия не выполняются.
#6 
banach прохожий09.11.14 12:49
09.11.14 12:49 
в ответ Murr 09.11.14 12:12
Vielen Dank, Murr! Заработало!!!!!
#7