powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Женитьба Excel и SQLite
4 сообщений из 29, страница 2 из 2
Женитьба Excel и SQLite
    #39186864
Helenochka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kos20, Здравствуйте! Вам все же удалось реализовать поставленную задачу?
Уже не первый день бьюсь в попытках выгрузить данные из excel в sqlite, но пока все очень очень печально...
Пытаюсь разобраться с SQLite for Excel , но пока даже демо пример запустить не могу...ругается что не находит библиотеки, хотя они лежат в папке с excel файлом, по коду вроде тоже все ок, пыталась даже явно прописать путь к этим библиотекам, но все бесполезно, не работает(
Можете дать какие нибудь советы и рекомендации куда копать и что смотреть
...
Рейтинг: 0 / 0
Женитьба Excel и SQLite
    #39190316
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Helenochka,

День добрый!

Там перед запуском нужно такой код init() сперва запустить. А лучше погонять AllTests...
У меня возникли проблемы с тем, что файл блокируется... Это рально засада. А так все подробно расписано...

Код: 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.
41.
42.
Sub init()
    #If Win64 Then
        ' I put the 64-bit version of SQLite.dll under a subdirectory called x64
        InitReturn = SQLite3Initialize(ThisWorkbook.Path + "\x64")
    #Else
        InitReturn = SQLite3Initialize ' Default path is ThisWorkbook.Path but can specify other path where the .dlls reside.
    #End If
    If InitReturn <> SQLITE_INIT_OK Then
        Debug.Print "Error Initializing SQLite. Error: " & Err.LastDllError
        Exit Sub
    End If


Public Sub AllTests()
    Dim InitReturn As Long
    
    #If Win64 Then
        ' I put the 64-bit version of SQLite.dll under a subdirectory called x64
        InitReturn = SQLite3Initialize(ThisWorkbook.Path + "\x64")
    #Else
        InitReturn = SQLite3Initialize ' Default path is ThisWorkbook.Path but can specify other path where the .dlls reside.
    #End If
    If InitReturn <> SQLITE_INIT_OK Then
        Debug.Print "Error Initializing SQLite. Error: " & Err.LastDllError
        Exit Sub
    End If
    
    TestVersion
    TestOpenClose
    TestOpenCloseV2
    TestError
    TestInsert
    TestSelect
    TestBinding
    TestDates
    TestStrings
    TestBackup
    TestBlob
    TestWriteReadOnly
    SQLite3Free ' Quite optional
End Sub
End Sub
...
Рейтинг: 0 / 0
Женитьба Excel и SQLite
    #39190318
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Helenochka,
пропишите dll правильно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Женитьба Excel и SQLite
    #39430549
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тесты не проходят, что приводит к блокировке/lock файла.
Точнее не проходит тест - test_binding, ибо он написан исходя из Eng версии windows.
Нужно открыть файл модуля, и заменить в двух местах (в зависимости от региональных настроек)

Пример замены:
Код: vbnet
1.
2.
3.
4.
5.
Randomize
    startDate = DateValue("1 Jan 2000")

Randomize
    startDate = DateValue("1 Января 2000")



После этого тесты будут проходить, а файл не будет lock
В логе, появится заветное

SQLite3Close returned 0
----- All Tests Complete -----


Но для дальнейшего понимания, требуется понимание VBA, ибо к примеру для открытия/создания BD там имеется к примеру две версии функций и.т.д.

Чем если не секрет выбрана SQLite, а не Access ?
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Женитьба Excel и SQLite
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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