Страница: 1 |
vb6 и access необходимо из базы выбрать документы за определенную дату подскажите формат поля в базе и sql запрос для выборки перепробывал тысячу вариантов ничего не подходит
Поле в базе типа Date. Запрос к базе должен происходить когда дата в формате mm/dd/yyyy и дату надо взять в "решетки" (#). К примеру, "Select * from Table1 WHERE Date1 = #" & Format(Date, "mm/dd/yyyy") & "#" Попробуй такой запрос strSQLTable="SELECT * FROM Table WHERE ([Date] BETWEEN CONVERT(DATETIME, '2003-10-01 00:00:00', 102) AND CONVERT(DATETIME, '2003-10-10 00:00:00', 102)) или strSQLTable="SELECT * FROM Table WHERE ([Date] = CONVERT(DATETIME, '2003-10-01 00:00:00', 102)) У меня работает. Забыл подписать обрати внимание в каком формате нужно подавть дату "2003-10-01", а обычная дата "01.10.2003") Все просто делаешь: YourDate=Format(01.10.2003,"yyyy-mm-dd") strSQLTable="SELECT * FROM Table WHERE ([Date] = CONVERT(DATETIME, '" & YourDate & " 00:00:00', 102)) И все работает спасибо boevik и born но к сожалению у меня снова нихрена не работает выбрать доки необходимо не по системной дате а по произвольной вводимой например в поле ввода с маской и список выбраных доков отобразить в msflexgride я вообще в шоке в лучшем случае не выдает ошибки а просто ничего не находит выводит только названия полей У меня все работает база на SQl вот тебе код Private Sub cmdExecute_Click() Call OpredKolRaskroy(Format(txtDateBegin, "yyyy-mm-dd"), Format(txtDateEnd, "yyyy-mm-dd")) ' здесь txtDateBegin,txtDateEnd значение даты в твоем поле не важно в каком формате End Sub Public Sub OpredKolRaskroy(DateBegin As String, DateEnd As String) Dim strSqlDetalOtxod As String Dim rstDetalOtxod As New ADODB.Recordset strSqlDetalOtxod = " SELECT * FROM DetalOtxod WHERE (dbo.DetalOtxod.[Date] BETWEEN CONVERT(DATETIME, '" & DateBegin & " 00:00:00', 102) AND CONVERT(DATETIME, '" & DateEnd & " 00:00:00', 102))" Это запрос потом в RecordSet загрузишь и все должно работать rstDetalOtxod.open strSqlDetalOtxod,connection set DataGrid1.DataSource=rstDetalOtxod End sub Усли не получится я тебе код подготовлю для базы Access 2shtorm: Допустим вводенная дата в txtDate в формате dd.mm.yyyy. Для того что бы использовать её (дату) в запросе SQL тебе надп преобразовать дату к формату mm/dd/yyyy. sqlDate = Mid(txtDate, 4,2) & "/" & Left(txtDate, 2) & "/" & Right(txtDate,4) sqlDate уже можно подставлять в SQL запрос. И дату в Acess обязательно надо брать в решетки. Select * from Table1 WHERE Date1 = #" & sqlDate & "#" Страница: 1 |
Вопрос: помогите уже месяц на месте стою
Добавлено: 11.11.03 06:56
Автор вопроса: shtorm | Web-сайт:
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 11.11.03 08:38
Номер ответа: 2
Автор ответа:
Born
ICQ: 178155071
Вопросов: 21
Ответов: 52
Профиль | | #2
Добавлено: 12.11.03 07:43
Номер ответа: 3
Автор ответа:
Born
ICQ: 178155071
Вопросов: 21
Ответов: 52
Профиль | | #3
Добавлено: 13.11.03 07:02
Номер ответа: 4
Автор ответа:
shtorm
Вопросов: 2
Ответов: 2
Web-сайт:
Профиль | | #4
Добавлено: 14.11.03 07:59
Номер ответа: 5
Автор ответа:
Born
ICQ: 178155071
Вопросов: 21
Ответов: 52
Профиль | | #5
Добавлено: 14.11.03 08:23
Номер ответа: 6
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #6
Добавлено: 14.11.03 15:14