Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 | 3 |

 

  Вопрос: Помогите начинающему: открыть и обработать dbf ! Добавлено: 27.07.09 01:10  

Автор вопроса:  Дмитрий
Visual Basic только начал изучать.

Нужно написать такую программу, которая:

1. Откроет файл C:\Baza.dbf
Baza.dbf представляет из себя таблицу FoxPro 3.0 c количеством записей около 100 000 с полями:
Adres, Dom, Kvartira

2. Создаст новый файл Baza-2.dbf и сохранит его на диск С, т.е. C:\Baza-2.dbf
Структура таблицы Baza-2.dbf - такая же, как и у Baza.dbf
(такие же поля Adres, Dom, Kvartira), только количество записей - 1 (пустая для начала).

3. Каждую запись таблицы Baza.dbf (от первой до стотысячной) нужно по порядку сравнить со ВСЕМИ ЗАПИСЯМИ таблицы Baza-2.dbf:
Если в этой записи Baza.dbf и сравниваемой записи Baza-2.dbf ОДНОВРЕМЕННО равны поля Adres и Dom, то не не нужно делать никаких действий. В противном случае такую запись нужно добавить в таблицу Baza-2.dbf (в этом случае число записей в Baza-2.dbf увеличится на 1).

_____________________________________________
В общем, накачал я книжек по Visual Basic, там почему-то только про визуальное программирование баз данных рассказано.
Какой командой открыть файл *.dbf, не рассказано.
Какой синтаксис использовать, чтобы сравнивать ячейки, тоже не могу найти. Даже поиском.
Как создать *.dbf с определенными полями определенного типа, как добавлять записи...

Если кто подскажет по синтаксису (в пределах сей задачи), буду благодарен, дальше я сам.
Черкните пару строчек кода с комментариями.

Спасибо!

Ответить

  Ответы Всего ответов: 36  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 27.07.09 02:06
Пары строчек маловато будет.
То, что тебе нужно делается парой sql запросов, ну ещё к базе нужно соединится.
Завтра скину, сплю уже.

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 27.07.09 05:17
Пары постов маловато будет, решил Smith.

Ответить

Номер ответа: 3
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #3
Добавлено: 27.07.09 07:49
Smith, кофе надо водой разбавлять)))

Ответить

Номер ответа: 4
Автор ответа:
 Дмитрий



Вопросов: 1
Ответов: 5
 Профиль | | #4 Добавлено: 27.07.09 09:02
Smith
Спасибо, что откликнулся!
Жду!

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 27.07.09 09:27
Привет, Дмитрий,
для работы с базами данных из VB6/VBA тебе нужно:
1. Определиться с технологией доступа к БД, которую ты будешь использовать:
   1.1. ADO. Рекомендую тебе в данном случае.
   1.2. DAO. Тоже сойдет, но DAO сейчас стали реже пользоваться.
   1.3. ODBC. В VB6/VBA это работа с API-функциями, что довольно неудобно,
        но есть преимущество - ODBC-драйвера есть почти к любым БД.
   1.4. Другое. Есть другие технологии и различные библиотеки.
2. Определиться с версией драйвера базы данных. С расширением DBF есть
   файлы нескольких различных форматов. Существуют по крайней мере форматы
   ;DBF (dBASE II, dBASE III, dBASE IV), может и другие (я не знаю).
   Соответственно у каждого формата свой драйвер (а может и не по одному).
   Какой именно формат DBF у FoxPro 3.0 - мне неизвестно, ты должен выяснить.
3. Все что ты хочешь сделать - делается парой SQL-запросов. Если ты еще не
   знаешь, что такое SQL, прочитай любое краткое описание этого языка
   запросов, он несложный и просто необходимый для тех, кто работает с
   любыми БД. Так, создание новой таблицы происходит при помощи SQL-запроса
   ;(DDL), начинающегося ключевыми словами CREATE TABLE

Ответить

Номер ответа: 6
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 27.07.09 09:36
Создание структуры новой (пустой) таблицы Baza-2 будет выглядеть примерно так:
  1. "CREATE TABLE Baza-2 (Adres CHAR(128),Dom CHAR(8),Kvartira INTEGER)"

Точно размеры и тип полей ты не указал, поэтому поля приведены ориентировочно, надо подогнать точно по таблице Baza.

Ответить

Номер ответа: 7
Автор ответа:
 Дмитрий



Вопросов: 1
Ответов: 5
 Профиль | | #7 Добавлено: 27.07.09 09:44
mc-black
Благодарю!
А если я выбрал ADO, как будет выглядеть код, который отвечает за открытие таблицы DBF ?
И каким синтаксисом нужно ссылаться на определенное поле определенной записи? (например, на поле Adres 115-строки)?

Ответить

Номер ответа: 8
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #8 Добавлено: 27.07.09 10:01
Вижу что соскучались по мне.
ВБД я в кофе даже сахар не сыплю чтоб вкус не портить, сам пей разбавленный.

Ответить

Номер ответа: 9
Автор ответа:
 Дмитрий



Вопросов: 1
Ответов: 5
 Профиль | | #9 Добавлено: 27.07.09 10:04
Smith
Соскучились. Особенно я. :)

Ответить

Номер ответа: 10
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #10 Добавлено: 27.07.09 10:11
В вба 2003 офиса в верхнем меню есть Tools в нем самый первый пункт References.
Ищешь в списке микрософт активХ дата объект 2.8 либрэри и ставишь на нем галку.

Ответить

Номер ответа: 11
Автор ответа:
 Дмитрий



Вопросов: 1
Ответов: 5
 Профиль | | #11 Добавлено: 27.07.09 10:17
Smith
Мы под офис будем прогу писать?
В чистом VBA, может, лучше?

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 27.07.09 10:53
Может прежде чем писать проги разберемся со средой разработки?

ВБА - ВИЗУАЛ БЭЙСИК фор АПЛИКЕЙШН т.е. для офиса и т.п.

ВБ6 - ОДИН ИЗ ЯЗЫКОВ 6-ой ВИЗУАЛ СТУДИИ

выбирай

Ответить

Номер ответа: 13
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #13 Добавлено: 27.07.09 11:08
В чистом VBA, может, лучше?
Что Вы под этим понимаете?

Ответить

Номер ответа: 14
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #14
Добавлено: 27.07.09 11:18
На VBA пишется прикладная вася, т.е. полноценный продукт ты не сделаешь.
ЗЫ: Smith Но полное отсутствие воды в кофе - тоже перебор.

Ответить

Номер ответа: 15
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #15 Добавлено: 27.07.09 11:37
Но полное отсутствие воды в кофе - тоже перебор.
Гы... Ну почему же. Можно спиртом разбавить, ну или пивом... :)

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам