Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Выборка из двух DBF-файлов Visual Basic / 25 сообщений из 27, страница 1 из 2
26.05.2010, 16:01
    #36650830
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Есть такой код на Visual Basic 6.0:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
conn.Open "DBQ=" & App.Path & ";Driver={Microsoft dBase Driver (*.dbf)}; FIL=dBase4.0"
Dim sSQL As String
sSQL = "SELECT [namefile] FROM FTPNEW WHERE [namefile] Not In (Select [namefile] FROM FTPOLD)"
rs.Open sSQL, conn, adOpenStatic, adLockOptimistic
При открытии рекордсета вылазит сообщение об ошибке: [Microsoft][Драйвер ODBC dBase] Слишком мало параметров. Требуется 1. Менять строки подключения и параметры открытия рекордсета ни к чему не привели.
...
Рейтинг: 0 / 0
26.05.2010, 16:18
    #36650878
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23,

А если так запрос переделать?
Код: plaintext
1.
2.
SELECT [namefile] FROM FTPNEW
LEFT JOIN FTPOLD ON FTPNEW.[namefile]=FTPOLD.[namefile]
WHERE IsNull(FTPOLD.[namefile])
...
Рейтинг: 0 / 0
26.05.2010, 16:21
    #36650894
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Shocker.Pro, Нет теперь другое сообщение: [Microsoft][Драйвер ODBC dBase] Слишком мало параметров. Требуется 3.
...
Рейтинг: 0 / 0
26.05.2010, 16:23
    #36650898
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23,

А вы уверены, что FTPNEW и FTPOLD - это таблицы?
...
Рейтинг: 0 / 0
26.05.2010, 16:24
    #36650903
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
1.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;

2.

Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;

3.

Driver={Microsoft dBase Driver (*.dbf)};datasource=dBase Files;


выбирайте варианты подключений
...
Рейтинг: 0 / 0
26.05.2010, 16:26
    #36650907
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Shocker.ProGaiver23,

А вы уверены, что FTPNEW и FTPOLD - это таблицы?

Конечно, это два dbf-файла. Другие запросы с рекордсетами работают великолепно.
...
Рейтинг: 0 / 0
26.05.2010, 16:30
    #36650922
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23Конечно, это два dbf-файла. Другие запросы с рекордсетами работают великолепно.

Не знаю, где у dBase хранятся параметрические запросы, такое ощущение, что вы пытаетесь выбрать не из таблиц.
Просто
Код: plaintext
SELECT [namefile] FROM FTPNEW
работает?
...
Рейтинг: 0 / 0
26.05.2010, 16:30
    #36650924
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Konst_One1.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;

2.

Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;

3.

Driver={Microsoft dBase Driver (*.dbf)};datasource=dBase Files;


выбирайте варианты подключений

Любая из этих строк порождает тоже самое сообщение об ошибке.
...
Рейтинг: 0 / 0
26.05.2010, 16:31
    #36650930
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Shocker.ProGaiver23Конечно, это два dbf-файла. Другие запросы с рекордсетами работают великолепно.

Не знаю, где у dBase хранятся параметрические запросы, такое ощущение, что вы пытаетесь выбрать не из таблиц.
Просто
Код: plaintext
SELECT [namefile] FROM FTPNEW
работает?

Да, работает.
...
Рейтинг: 0 / 0
26.05.2010, 16:32
    #36650937
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Код: plaintext
1.
2.
3.
4.
5.
SELECT [FTPNEW].[namefile] 
FROM 
    [FTPNEW] LEFT OUTER JOIN [FTPOLD] 
         ON [FTPNEW].[namefile] = [FTPOLD].[namefile]
WHERE 
    [FTPOLD].[namefile] IS NULL
...
Рейтинг: 0 / 0
26.05.2010, 16:34
    #36650942
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Таблицы в студию :)
...
Рейтинг: 0 / 0
26.05.2010, 16:35
    #36650947
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Konst_One
Код: plaintext
1.
2.
3.
4.
5.
SELECT [FTPNEW].[namefile] 
FROM 
    [FTPNEW] LEFT OUTER JOIN [FTPOLD] 
         ON [FTPNEW].[namefile] = [FTPOLD].[namefile]
WHERE 
    [FTPOLD].[namefile] IS NULL


Ошибка: [Microsoft][Драйвер ODBC dBase] Слишком мало параметров. Требуется 2.
...
Рейтинг: 0 / 0
26.05.2010, 16:36
    #36650951
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Код: plaintext
1.
2.
SELECT [namefile] FROM FTPNEW
LEFT JOIN FTPOLD ON FTPNEW.[namefile]=FTPOLD.[namefile]
WHERE IsNull(FTPOLD.[namefile])
Здесь он ругнётся на неоднозначность поля namefile, т.к. это поле есть в двух таблицах
...
Рейтинг: 0 / 0
26.05.2010, 16:36
    #36650952
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
попробуйте Microsoft Visual FoxPro драйвер
...
Рейтинг: 0 / 0
26.05.2010, 16:37
    #36650954
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
SashaMТаблицы в студию :)

Таблицы до безобразия просты. Одно поле NAMEFILE c типом Character(128)
...
Рейтинг: 0 / 0
26.05.2010, 16:38
    #36650959
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
SashaM
Код: plaintext
1.
2.
SELECT [namefile] FROM FTPNEW
LEFT JOIN FTPOLD ON FTPNEW.[namefile]=FTPOLD.[namefile]
WHERE IsNull(FTPOLD.[namefile])
Здесь он ругнётся на неоднозначность поля namefile, т.к. это поле есть в двух таблицах

Согласен
Код: plaintext
SELECT FTPNEW.[namefile]....
но ругается-то он пока на другое...
...
Рейтинг: 0 / 0
26.05.2010, 16:39
    #36650960
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Код: plaintext
1.
2.
3.
4.
SELECT [namefile] 
FROM FTPNEW 
WHERE NOT [namefile] IN (
Select [namefile] FROM FTPOLD GROUP BY [namefile]
)


а так?
...
Рейтинг: 0 / 0
26.05.2010, 16:40
    #36650965
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23,
Если ты SQL запрос кидаешь в несколько строк, то разделитель ;, так же есть ограничение на длину sql запроса, и лучше покажи код, не прячь
...
Рейтинг: 0 / 0
26.05.2010, 16:49
    #36650987
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Konst_One
Код: plaintext
1.
2.
3.
4.
SELECT [namefile] 
FROM FTPNEW 
WHERE NOT [namefile] IN (
Select [namefile] FROM FTPOLD GROUP BY [namefile]
)


а так?

Ошибка остается. У меня вот была такая проблема с обычным Select * FROM таблица. И тоже ругался на открытии рекордсета, проблема решилась заменой строки подключения. Но даже эта строка подключения в этом запросе не работает. Еще заметил, что если приравнять строку подключения и при ошибке распечатать эту строку - выдается другая строка.
...
Рейтинг: 0 / 0
26.05.2010, 16:50
    #36650992
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23Shocker.ProGaiver23Конечно, это два dbf-файла. Другие запросы с рекордсетами работают великолепно.

Не знаю, где у dBase хранятся параметрические запросы, такое ощущение, что вы пытаетесь выбрать не из таблиц.
Просто
Код: plaintext
SELECT [namefile] FROM FTPNEW
работает?

Да, работает.

а
Код: plaintext
SELECT [namefile] FROM FTPOLD
?
...
Рейтинг: 0 / 0
26.05.2010, 16:51
    #36650994
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
я уже посоветовал использовать VFP драйвер
...
Рейтинг: 0 / 0
26.05.2010, 17:03
    #36651023
Mashinist-Ilyasov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Вот вы боты...
Да я такие запросы на своем Nokio 6230 писал...
...
Рейтинг: 0 / 0
26.05.2010, 17:05
    #36651033
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Mashinist-Ilyasov,

Nokio? Вас обманули
...
Рейтинг: 0 / 0
26.05.2010, 17:11
    #36651047
Gaiver23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Может быть проблема в том, что я программно создаю из Visual Basic все эти таблицы, может их создавать как то по особенному надо? Вот код моего создания:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Function CreateDBFTemplate(sDBFName As String) As Boolean
Dim sPath As String

'===== Путь к DBF
sPath = App.Path & "\"

If Dir(sPath & "\" & sDBFName & ".dbf") = "" Then
    Dim conn As New ADODB.Connection
    conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath & ";User ID=Admin;Password=;Extended Properties=dBase IV")

    '===== Создаем DBF
    conn.Execute "create table " & sDBFName & "(namefile char(128))"
    conn.Close

    Set conn = Nothing
    CreateDBFTemplate = True
Else
    CreateDBFTemplate = False
End If
End Function
...
Рейтинг: 0 / 0
26.05.2010, 17:20
    #36651076
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из двух DBF-файлов Visual Basic
Gaiver23,

С этим кодом всё ОК. Таблица создаётся правильная
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Выборка из двух DBF-файлов Visual Basic / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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