
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.08.2006, 16:03:22
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Помогите средствами VBA решить задачу. Нужно взять значение ячейки, и найти его в базе DBF. Если такое значение существует, то возвратить адрес этого значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2006, 19:18:37
|
|||
|---|---|---|---|
|
|||
Поиск в базе DBF |
|||
|
#18+
Копать в сторону ADO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2006, 13:20:30
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
В какую сторону копать и так понятно. Имеется таблица называется PE есть столбец USR1002 в котором лежит нужная информация и столбец Name в котором осуществляется поиск по значению Нужно найти значение в Name, и получить соответствующее значение из столбца USR1002 Sub ConnectDBF() Dim strSQL As String Dim db As ADODB.Connection Dim rs As String Set db = New ADODB.Connection db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\actbase\;Extended Properties=dBASE IV" Let strSQL = " SELECT USR1002 " _ & " FROM PE " _ & " WHERE Name = Арагон" db.Execute (strSQL) db.Close End Sub Когда запускаю вышеприведенный код выдается ошибка: "Отсутствует значение для одного или нескольких параметров" Подскажите, пожалуйста, где именно я ошибся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2006, 13:39:25
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
возьмите Аргон в апострофы Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2006, 13:52:12
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
точна, спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.08.2006, 11:00:52
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Есть следующий код Sub ConnectDBF() Workbooks("Auto.xls").Worksheets("OpOtM").Activate Dim strSQL As String Dim sOutput As String Dim Zapros As String Dim db As ADODB.Connection Dim Rs As ADODB.Recordset Let Zapros = Cells(92, 3).Value Let strSQL = " SELECT usr1002,usr1040, usr1034" _ & " FROM PE " _ & " WHERE company LIKE " & "'" & "%" & Zapros & "%" & "'" Set db = New ADODB.Connection 'db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\actbase\;Extended Properties=dBASE IV" 'db.Open "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=D:\actbase\;CollatingSequence=ansi" db.Open "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=D:\actbase\" Set Rs = New ADODB.Recordset Rs.Open Source:=strSQL, ActiveConnection:=db If Not (Rs.BOF Or Rs.EOF) Then Let sOutput = Rs.Fields("USR1002").Value & ", " & Rs.Fields("USR1040").Value & ", " _ & Rs.Fields("USR1034").Value Else Let sOutput = 0 End If Rs.Close db.Close MsgBox (sOutput) Set db = Nothing Set Rs = Nothing End Sub Программа проверялась со всеми закоментированными драйверами. Проблема в том, что когда в запросе слово на кирилице программа ничего не находит, с латиницей проблем нет. Подскажите, что в данной ситуации можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.08.2006, 12:39:16
|
|||
|---|---|---|---|
|
|||
Поиск в базе DBF |
|||
|
#18+
это проблемы кодовой страницы. В XP я не нашел прямо ссылку на кодовую страницу - в Администраторе источников данных ODBC есть выбор из ASCII, международной и какихто норвежских. Вероятно есть возможность добавления charset'ов, но ODBC скорее всего не располагает нужными инструментами... Если подключить через ODBC dbf-файл с неправильно указанным charset'ом, то и сортировка, и поиск могут работать некорректно. Можно канешна попробовать вариант удаления гландов через задницу 8) а именно создать БД в MS Access, присоединить таблицу DBF, проверить привильность буков и пробовать вытаскивать через Access, а не напрямую через dbf... или посмотреть, как всетаки задавать национальную кодировку при создании нового ADODB.connection я ни в справке, ни в книжках не нашел поясний... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.08.2006, 15:15:08
|
|||
|---|---|---|---|
|
|||
Поиск в базе DBF |
|||
|
#18+
Если файлы DBF формата FoxPro, лучше бесплатно скачать с сайта Microsoft последний VFP OLEDB Provider и работать сним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.08.2006, 22:46:03
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
ffffffffffffffffffffffffЕсли файлы DBF формата FoxPro, лучше бесплатно скачать с сайта Microsoft последний VFP OLEDB Provider и работать сним. Установил, стали понятными половина символов, оставшаяся половина все также не читабельна. База имеет кодировку 1251, в блокноте все можно прочитать. Может есть еще какие драйверы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2006, 09:59:37
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Что значит "половина" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2006, 10:38:53
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Слово "Транспорт" он распознает примерно так "Odанспоdт" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2006, 10:41:10
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
попробуйте Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2006, 11:25:24
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
OLEDB "Provider=vfpoledb.1;Data Source=C:\MyDataDirectory\;Collating Sequence=russian" .............................. Поэкспериментируй с Collating Sequence ......................................... ODBC "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=c:\myvfpdbfolder;Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO" ................................ Поэкспериментируй с Collate ............................................ Взято отсюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 10:14:19
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Попробовал все способы, ничего не помогло. Методы скорей всего правильные, это база у меня кривая очень. Подскажите, пожалуйста, каким способом можно узнать, что за драйвер использует программа ACT! (build 5.0.3.423) для работы с этой базой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 15:03:18
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Nagv а сама таблица открывается нормально без крякозябров? к примеру в Visual FoxPro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 17:04:13
|
|||
|---|---|---|---|
|
|||
Поиск в базе DBF |
|||
|
#18+
А если импортировать данные в Excel через Данные-Импорт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 17:24:46
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Открывать в foxpro базу не пробовал, т.к. оной не имею, а установить что-нибудь дополнительное на рабочую машину проблематично. Вечером попробую открыть на домашней. Открывал базу в access там были крякозебры, открывал в блокноте, там как раз-таки все нормально. Открывал и импортировал в эксель, и так и так получались крякозябры только разного вида :) Хозяева ACT! предлагают работать с их базой посредством их библиотек, собственно сейчас с ними и разбераюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 18:06:26
|
|||
|---|---|---|---|
|
|||
Поиск в базе DBF |
|||
|
#18+
Еще вариант. В тексте запроса Select CPCONVERT(1251,1250,ИмяПоля),... Первый параметр- кодовая страница в файле dbf Второй- кодовая страница на выходе. Тоже можно поэкспериментировать. Даже с разными строками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2006, 18:48:19
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
авторПодскажите, пожалуйста, каким способом можно узнать, что за драйвер использует программа ACT! (build 5.0.3.423) для работы с этой базой. Например, программой Filemon. Стартовать свою программу и посмотреть, какие файлы открыты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2006, 17:59:46
|
|||
|---|---|---|---|
Поиск в базе DBF |
|||
|
#18+
Проблема разрешилать после того, как в HEX редакторе 29-му байту было присвоено значение hex(57) (обозначение 1251) Более подробная информация тут: http://www.delphikingdom.com/asp/viewitem.asp?urlitem=/helloworld/dbheader.htm После этого и аксес и JEt все увидели. Всем спасибо за поддержку и участие :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&tablet=1&tid=2184318]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 352ms |

| 0 / 0 |
