|
|
|
| А2003 Помогите, пожалуйста, с отбором записей по дате
Есть таблицы TBL1 и TBL2
TBL1 с полями ID1 и DATA1
TBL2 с полями ID2 и DATA2
Поля DATA1 и DATA записываются через преобразование
Format$(Date, “mmmm yyyy”) т.е. в поле – число всегда 01, а далее месяц и год
Dim rs1 As Recordset
Dim rs2 As Recordset
Set rs1 = db.OpenRecordset("Select * From TBL1")
rs1.MoveFirst
Dim Str1 As Long
Dim Str2 As Date
Dim SQL As String
Str1 = ”ID2 = ” & rs1!ID1
Str2 = “DATA2 = “ & rs1! DATA1 – на этой строке пишет “Type mismatch”
Пытался сначала сделать преобразование
Str2 = Format$(Str2, “mmmm yyyy”)
Str2 = “DATA2 = “ & rs1! DATA1 – результат тот же
Далее нужно открыть rs2
SQL = "Select * From TBL2 WHERE (" & Str1 And Str2 & ")"
Set rs2 = db.OpenRecordset(SQL)
Вроде бы все просто, но никак не могу побороть этот “Type mismatch” Помогите
Заранее Спасибо | |
|
| |
|
|
|
|
| Не понял а суть в чем? Преобразование вроде бы через CDate([Поле]) делается в запросе. Кусочек бы базы посмотреть что это за зверь. И почему нельзя сразу поле тип дата поставить и маску в форме закатать? Или маску сделать? Сложно что-то. | |
|
| |
|
|
|
|
| Dim Str2 As Date
а Вы в нее пытаетесь впихнуть строку “DATA2 = “ ..... | |
|
| |
|
|
|
|
Dim Str1 As Long
....................................
Str1 = ”ID2 = ” & rs1!ID1
|
А это ,выходит, пропускает нормально?
SQL = "Select * From TBL2 WHERE (" & Str1 And Str2 & ")"
????????? - енто вааще не должно работать так, как вы хотите. | |
|
| |
|
|
|
| Да оно и не работало... Пошел другим путем, чуть длиннее, но задачу решил. Понимаю, что в своем вопросе - НАКОСЯЧИЛ, просто набо было сделать быстрее...
(osmor) “DATA2 = “ & rs1! DATA1 - сейчас только дошло почему mismftch, хотя мог бы догадаться и сам.
Большое Всем спасибо, и извините за отнятое время | |
|
| |