Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: помогите уже месяц на месте стою Добавлено: 11.11.03 06:56  

Автор вопроса:  shtorm | Web-сайт: нету

vb6 и access необходимо из базы выбрать документы за определенную дату подскажите

формат поля в базе и sql запрос для выборки перепробывал тысячу вариантов ничего не подходит

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #1
Добавлено: 11.11.03 08:38

Поле в базе типа Date.

Запрос к базе должен происходить когда дата в формате mm/dd/yyyy и дату надо взять в "решетки" (#).

К примеру, "Select * from Table1 WHERE Date1 = #" & Format(Date, "mm/dd/yyyy") & "#"

Ответить

Номер ответа: 2
Автор ответа:
 Born



ICQ: 178155071 

Вопросов: 21
Ответов: 52
 Профиль | | #2 Добавлено: 12.11.03 07:43

Попробуй такой запрос

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))

У меня работает.

Ответить

Номер ответа: 3
Автор ответа:
 Born



ICQ: 178155071 

Вопросов: 21
Ответов: 52
 Профиль | | #3 Добавлено: 13.11.03 07:02

Забыл подписать обрати внимание в каком формате нужно подавть дату

"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))

И все работает

Ответить

Номер ответа: 4
Автор ответа:
 shtorm



Вопросов: 2
Ответов: 2
 Web-сайт: нету
 Профиль | | #4
Добавлено: 14.11.03 07:59

спасибо boevik и born но к сожалению у меня снова нихрена не работает

выбрать доки необходимо не по системной дате а по произвольной вводимой например в

поле ввода с маской и список выбраных доков отобразить в msflexgride

я вообще в шоке в лучшем случае не выдает ошибки а просто ничего не находит выводит

только названия полей

Ответить

Номер ответа: 5
Автор ответа:
 Born



ICQ: 178155071 

Вопросов: 21
Ответов: 52
 Профиль | | #5 Добавлено: 14.11.03 08:23

У меня все работает база на 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

Ответить

Номер ответа: 6
Автор ответа:
 boevik



Хранитель чата

ICQ: 137392264 

Вопросов: 8
Ответов: 557
 Web-сайт: www.hypertech.ru
 Профиль | | #6
Добавлено: 14.11.03 15:14

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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам