SQL запрос для выборки определённых данных из DB

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

SQL запрос для выборки определённых данных из DB

Сообщение НиколайП » 18.03.2006 (Сб) 23:45

подскажите пожалуйсто как необходимо построить запрос для получения следующих данных:
в БД поле datag как Дата/Время
БД Access
запрос из формы VB

1. получить данные за определённый период даты

Dim data1 As Date 'дата "с"
Dim data2 As Date 'дата "по"
'получение даты от пользователя
data1 = CDate(Combo10 & "." & Combo9 & "." & Text21)
data2 = CDate(Combo12 & "." & Combo11 & "." & Text22)

это нормально:
MsgBox ("период даты : "с " & data1 & " по " & data2)

а такой запрос
S = "SELECT a1,a2,a3,a4,datag FROM db Where datag >='" & data1 & "' And datag <='" & data2 & "' "

или такой
S = "SELECT a1,a2,a3,a4,datag FROM db Where datag Between " & data1 & " And " & data2 & ""

не работает ...

2.получить данные за текущий месяц
3.получить последних 20 записей

Заранее благодарен.[/quote]
Последний раз редактировалось НиколайП 19.03.2006 (Вс) 7:46, всего редактировалось 2 раз(а).

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 19.03.2006 (Вс) 1:04

1,2: Если БД Access, то дату подставляй в формате #MM/dd/YYYY# или #YYYY-MM-dd# (напр.: #03/18/2005# или #2005-03-18#).
3. Последних по какому критерию?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

Сообщение НиколайП » 19.03.2006 (Вс) 7:44

1,2: Если БД Access, то дату подставляй в формате #MM/dd/YYYY# или #YYYY-MM-dd# (напр.: #03/18/2005# или #2005-03-18#).

делаю так:
Dim data1,data2 As String
data1 = "#" & Combo9 & "/" & Combo10 & "/" & Text21 & "#"
data2 = "#" & Combo11 & "/" & Combo12 & "/" & Text22 & "#"
S = "SELECT a1,a2,a3,a4,datag FROM db Where datag >='" & data1 & "' And datag <='" & data2 & "' "

тоже не проходит, пишет "несоответствие типов данных в выражении условия тбора" , в БД даты отоброжаются так: 11.03.2006
:(


VVitafresh писал(а):3. Последних по какому критерию?

последние записи внесённые в БД, например сегодня я вносил в БД 2 записи , вчера 1, позавчера 7 - вот именно эти 10 записей мне и нужны.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.03.2006 (Вс) 8:56

НиколайП
Этот вопрос слишком много раз задавался для того, чтобы его нельзя было найти.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 0

    TopList