Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определения наличия поля в файле / 3 сообщений из 3, страница 1 из 1
05.10.2005, 01:01:20
    #33305021
Andrey13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определения наличия поля в файле
Задача стояла такая: мне надо было определить есть ли в DBF файле поля
с определенным именем, скажем "NewNum"
Пытыюсь делать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Set DBFConn = New ADODB.Connection



DBFConn.Open "Provider=MSDASQL.1;Persist Security Info=False;mode=19;Data Source=Файлы dBASE;Initial Catalog=" + BankImport.File1.Path

Set dbfRs = New ADODB.Recordset

a = ColE(dbfRs, "Summa")
Old = Not (ColE(dbfRs, "sopl"))
NewN = ColE(dbfRs, "newnum")



Функция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Function ColE(rs As ADODB.Recordset, colName As String) As Boolean


     
    On Error GoTo errh:

' BankImport.File1.FileName это к прамеру "05TRGH07.DBF"
    Q = "SELECT " + colName + " FROM " + BankImport.File1.FileName
   rs.Open (Q), DBFConn

    ColE = True
    rs.Close
   Exit Function
   errh: 
   MsgBox Err.Description
   ColE = False
   End Function


Самое интересное что иногда все работает правильно, т е
ColE=Treu если есть запись, и False если нет.
Но чаще MsgBox Err.Description дает "[Драйвер ODBC Dbase] Слишком мало параметров, требуется 1" или 5 и.т.д.

Подскажите пожалуйста.

Может есть другие варианты определения наличия поля в файле?
...
Рейтинг: 0 / 0
05.10.2005, 06:59:41
    #33305105
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определения наличия поля в файле
можно в функции ColE перебрать семейство Fields объекта rst. Проверив свойство Name можно определить, есть ли такое поле.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
DIM IsExists as Boolean
Dim myFld   as ADODB.Field
IsExists = False
for each myFld in rs.Fields
    if myFld.Name = colName then
        IsExists = True
        exit for
    end if
next
...
Рейтинг: 0 / 0
05.10.2005, 18:10:05
    #33307230
Andrey13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
определения наличия поля в файле
Спасибо, сейчас попробую.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определения наличия поля в файле / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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