Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SQL запрос в VBA для FireBird / 11 сообщений из 11, страница 1 из 1
02.05.2018, 15:33
    #39639011
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
Ребята помогите кто знает или может. У меня такая проблемма. Мне надо получить данные из таблицы FireBird посредством SQL запроса в VBA и вывести их на созданную мной форму. Проблемма в неправильном представлении формата даты или самой даты. Ну это мое мнение. Перепробовал разные форматы дат и ".", и "/", и "-", также "ММ/дд/гггг", "дд/ММ/гггг". Также менял формат даты Винды в "Региональных настройках". Ничего не получается.

Выдает ошибку то: "Type Mismatch", то "Несоответствие типов данных в выражении условия отбора". Был и тут тоже: http://www.sql.ru/faq/faq_topic.aspx?fid=157

Здесь ссылка на принтскрины, а то не знаю ка добавить в тему: https://drive.google.com/drive/folders/1goLfVZ3-9Y7u1tSbOoJP2ahkNisKnWn2

Здесь сам текст запроса:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Private sDAOConnect, SQLQuery As String
Private dbb As Database
Private myRS As Recordset

Private Sub CommandButton1_Click()

'Dim sDTStart, sDTFinish As String
Dim sDTStart, sDTFinish As Date


On Error GoTo ErrorHandler
'----------------------------------------------------------------------------
sDTStart = CDate(TextBox1.Text)

'================= CONNECT DB FIREBIRD ("FIRE_KZP_BUGRY") =================
    sDAOConnect = "ODBC;DSN=FIRE_KZP_BUGRY;UID=SYSDBA;PWD=784523;"
    Set dbb = DBEngine.Workspaces(0).OpenDatabase("", 0, False, sDAOConnect)
'----------------------------------------------------------------------------
' #" & Format(q, "mm\/dd\/yy hh\:mm\:ss") & "#

SQLQuery = "SELECT DT FROM BALANS_MANUAL WHERE DT = #" & Format(sDTStart, "mm\/dd\/yy hh\:mm\:ss") & "#"

Label1.Caption = SQLQuery
Set myRS = dbb.OpenRecordset(SQLQuery, dbOpenSnapshot, dbReadOnly)

'-------------------------------------------
'   Clean up before starting next query
    myRS.Close
    Set myRS = Nothing
'-------------------------------------------
'----------------------------------------------------------------------------
'============= CLOSE UP FIREBIRD ("FIRE_KZP_BUGRY") ==============
    dbb.Close
'----------------------------------------------------------------------------

Exit Sub
ErrorHandler:
    HandleError

End Sub



Заранее благодарен!
...
Рейтинг: 0 / 0
02.05.2018, 15:41
    #39639012
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
У тебя же во FlameRomin есть работающий запрос.
Замени диезы на кавычки вокруг даты, неужто не видно самому ?
...
Рейтинг: 0 / 0
02.05.2018, 16:12
    #39639018
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
LUCKyALFПроблемма в неправильном представлении формата даты или самой даты.

Используй параметризованные запросы и будет тебе счастье.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
02.05.2018, 16:29
    #39639024
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
hvladЗамени диезы на кавычки вокруг даты

Пробовал не получается!
...
Рейтинг: 0 / 0
02.05.2018, 16:30
    #39639026
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
Dimitry SibiryakovИспользуй параметризованные запросы и будет тебе счастье.


Параметризированный запрос это как? Я не супер силен в SQL.
...
Рейтинг: 0 / 0
02.05.2018, 16:40
    #39639033
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
LUCKyALFDimitry SibiryakovИспользуй параметризованные запросы и будет тебе счастье.


Параметризированный запрос это как? Я не супер силен в SQL.

http://www.sql.ru/faq/faq_topic.aspx?fid=410
...
Рейтинг: 0 / 0
02.05.2018, 16:55
    #39639042
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
...
Рейтинг: 0 / 0
03.05.2018, 08:10
    #39639156
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
hvlad Оно ?
https://support.microsoft.com/ru-ru/help/181542/you-receive-a-type-mismatch-error-when-you-run-the-openrecordset-metho

ДА ОНО.

hvlad огромное спасибо и спасибо тем кто помогал.

Оказывается очень просто библиотека DAO имела низкий приоритет нежели ADO (я так думаю). Поставил DAO приоритет выше и все заработало. Принтскрин в придачу!

Может кому поможет!
...
Рейтинг: 0 / 0
03.05.2018, 15:38
    #39639498
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
На всякий случай выложу где надо рыться если придется.
...
Рейтинг: 0 / 0
04.05.2018, 12:38
    #39639971
LUCKyALF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
Еще один вопрос есть. Когда я вытягиваю дату из СУБД FireBird например: 26.03.2018 00:00:00 VBA обрезает часы и выводит только 26.03.2018. Это только на 00:00:00. На все остальные часы выводит нормально: 26.03.2018 01:00:00.

Можно как то это побороть, кроме извращений типа дописывать часы самостоятельно.
...
Рейтинг: 0 / 0
04.05.2018, 12:40
    #39639974
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос в VBA для FireBird
LUCKyALFVBA обрезает часы

По VBA тут отдельный раздел форума.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / SQL запрос в VBA для FireBird / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]