Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Word, VBA, dbf, глюки с кодировкой 
:(
    Опции темы
Serrrgio
Дата 7.6.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



нужно выбрать данные из dbf и поместить их в TexBox на форме.
В нете нашел примерчик:
Код

nr = TB1.Text
Set ws = DBEngine.CreateWorkspace(Name:="", UserName:="", Password:="", UseType:=dbUseODBC)
Set db = ws.OpenDatabase("Файлы DBASE", dbDriverNoPrompt, False)
tt = "SELECT * FROM f:\temp\base.dbf WHERE NUM='" & nr & "'" 
Set rs = db.OpenRecordset(tt)
bb = rs.RecordCount
With UF6
    .TextBox1.Text = rs.Fields(1).Value
    .TextBox2.Value = rs.Fields(2).Value
End With
rs.Close
db.Close
ws.Close
UF5.Hide
UF6.Show

все вроде работает но вместо русских букв я вижу "a. Naaanoiiieu, oe. O. Oaa?aiei"
как сделать чтоб выводилось по русски, ткните пальцем, ниче не получается.
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



если надо получить все записи из dbf (особо не колдуя с запросом), предлагаю воспользоваться сиим классом. Работает значительно быстрее DAO/ADO да и исходники под рукой. Подробное описание и примеры в аттаче

Код
Dim tabl As clsDBF

Set tabl = New clsDBF

tabl.OpenFile "c:\miss\eibtemp\tabsour.dbf", tabl.xDBFCharsetANSI, False
 

 NumRows = tabl.RecordCount
 NumColumns = tabl.FieldsCount 

     For i = 1 To NumRows

            For j = 1 To NumColumns
                  www = tabl.GetFieldValue(j - 1)
                  '''''''''''''''''''''''''''''''''''''''''''
            Next j
            
            tabl.MoveNext

     Next i


Это сообщение отредактировал(а) likhobory - 7.6.2005, 15:12

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  os_dbf_vb23_.zip 41,10 Kb


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



нет, нужно выбрать определенную, ибо столбцов в записи около 40, неохота тащит всю таблицу
а что насчет кодировки?
PM MAIL   Вверх
Naghual
Дата 7.6.2005, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



А в какой кодировке была создана сия БД?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Serrrgio
Дата 7.6.2005, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



CP-1251 смотрел Far'ом по F3
самое интересное что на другом кампике все нормально, провери еще на нескольких- кракозябры smile
аномалия какая-то
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



покажи базочку
региональные стандарты аналогичны на всех машинах??

Это сообщение отредактировал(а) likhobory - 7.6.2005, 16:06


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



Цитата(likhobory @ 7.6.2005, 16:03)
покажи базочку
региональные стандарты аналогичны на всех машинах??

давай мыло вышлю структуру, стандарты вроде одинаковые, в реестре поправил CodePage на c_1251.nls все начиная с 1250 по 1258 ворд тоже 2000 расшир билды тока разные SR1 не помогает
стукни в асю 110563268

Это сообщение отредактировал(а) Serrrgio - 7.6.2005, 16:21
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



так сюда dbf и выложи


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



хм, наверно я тупорылый, как файл прикрепить к посту?
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



кнопка "ответить" ->загрузка файла


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



[censored 2] , точно, работает smile

Это сообщение отредактировал(а) Serrrgio - 7.6.2005, 17:01

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  base.DBF 2,34 Kb
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



СР - 1252


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



как ты определил?
и че теперь делать?

Это сообщение отредактировал(а) Serrrgio - 7.6.2005, 17:14
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



29 байт заголовка
для 1251 - 65 (hex)


--------------------
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



так что теперь крутить шоб по человечески показявало???
PM MAIL   Вверх
Serrrgio
Дата 7.6.2005, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



так, после манипуляций с реестром все заработало
манипуляции:
regedit
HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ищим там 1250 до 1258 и меняем везде значение на c_1251.nls
перезагрузка.

а на 1 машине фиг.
там вообще кодировка ни на что не похожа, еще страшней кракозябры, хотя региональгные стандарты поставлил одинаковые и в реестре кодовые страницы исправили.
какие еще мысли будут господа?

Это сообщение отредактировал(а) Serrrgio - 7.6.2005, 18:22
PM MAIL   Вверх
likhobory
Дата 7.6.2005, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 466
Регистрация: 17.5.2005
Где: Москва

Репутация: 10
Всего: 20



хех, не прописался. подправь:

Код
Dim cnn1 As New ADODB.Connection, rst1 As New ADODB.Recordset

cnn1.Open "Driver={Microsoft Visual FoxPro Driver};" & _
               "SourceType=DBF;" & _
               "SourceDB=" & "f:\temp\" & ";" & _
               "Exclusive=No"
rst1.Open "SELECT * FROM base.dbf WHERE NUM='" & nr & "'",  _
cnn1, adOpenKeyset, adLockReadOnly    
bb = rst1.RecordCount    
With UF6    
    .TextBox1.Text = rst1(1).Value    
''''''''''''''''''''''



--------------------
PM MAIL   Вверх
Serrrgio
Дата 8.6.2005, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 7.6.2005

Репутация: нет
Всего: нет



сенкс, сегодня попробую.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.