Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Необходимо преобразовать базу данных в текстовый файл!? / 15 сообщений из 15, страница 1 из 1
07.10.2003, 13:34
    #32286217
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Всем привет!

Люди пособите с проблемой. Есть приложение на VB с базой данных.
Необходимо преобразовать базу данных в текстовый файл при нажатии на кнопку.
Причем, если возможно, то выборочно по колонкам:

|_________________ Таблица _______________|
| Инфо || Теги || Текст | Параметры || Доп. инфо |

нужны только: | Теги || Текст | Параметры |

По форуму искал не нашел!
Если можно, медленно и два раза! А то документации не нашел, книг нет, помоч некому!

Заранее спасибо!
...
Рейтинг: 0 / 0
07.10.2003, 13:42
    #32286233
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
делаешь выборку с нужными полями в ADODB.Recordset и сохраняешь его в виде текстового файла (сначала в строку, а затем в файл) с нужными разделителями колонок
...
Рейтинг: 0 / 0
07.10.2003, 14:07
    #32286275
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Пожалуйста для полных профанов!
Хочу "написать" програмку для набора объявлений, т.к. для производства крайне необходима - времени крайне не хватает!
...
Рейтинг: 0 / 0
07.10.2003, 14:26
    #32286313
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
dim ss as string
dim cn as new ADODB.Connection
dim rs as new ADODB.Recordset

  ss= "Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyDataBase;" 
  cn.Open ss,  "UserName" ,  "Password" 
  ss= "SELECT [Теги], [Текст], [Парметры] FROM MyTable" 
  rs.Open ss, cn, adOpenStatic, adLockOptimistic
  ss=rs.GetString(adClipString, ,  "|" , "")
и далее записываешь строку ss в файл
...
Рейтинг: 0 / 0
07.10.2003, 14:54
    #32286366
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Private Sub cmdFail_Click()
Dim ss As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
ss = "Provider=SQLOLEDB;Data Source=C:\Project\Dataobj.mdb;"
cn.Open ss, "UserName", "Password"
ss = "SELECT [Format], [textobj], [texttel] FROM [Tablobj]"
rs.Open ss, cn, adOpenStatic, adLockOptimistic
ss = rs.GetString(adClipString, , "|", "")

f = FreeFile
Open "C:\Project\test.txt" For Output As f
Print #f, ss
Close f
End Sub

Выдает ошибку:
[DBNETLIB] ConectionOpen (ParseConnectParams()).]Недопустимое подключение.

Кузя, может как-нибудь договоримся на boyler@nekto.com или boyler@odigo.com.
Если программу до ума довести, то и продать можно, по крайней мере у нас, но я делаю для себя!
...
Рейтинг: 0 / 0
07.10.2003, 15:03
    #32286381
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
строка подключения к БД access
Код: plaintext
ss= "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=C:\Project\Dataobj.mdb;" 
...
Рейтинг: 0 / 0
08.10.2003, 07:13
    #32286998
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Разобрался наконец.

Private Sub cmdFail_Click()
Dim ss As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
ss = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project\Dataobj.mdb;"
cn.Open ss
ss = "SELECT [Format], [textobj], [texttel] FROM [Tableobj]"
rs.Open ss, cn, adOpenStatic, adLockOptimistic
ss = rs.GetString(adClipString, , "|", "")

f = FreeFile
Open "C:\Project\test.txt" For Output As f
Print #f, ss
Close f
End Sub

Кузя, ты настоящий человек, с большой буквы!
Спасибо тебе огромное!

Всем счастья и удачи!!! :-)
...
Рейтинг: 0 / 0
08.10.2003, 13:53
    #32287596
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
А не тут то было!
В процесе возник еще вопрос. Раскрываю великую тайну :-) - делаю программу для набора объявлений под InDesing.
Вопрос таков: после набора объявлений надо чтобы все объявления записывались в тектовый файл по рубрикам (Недвижимость, авто, мото и т.д.).
С записью разобрались, а вот как по рубрикам?..
Попытался сделать так:

'подключение к базе данных объявлений
' с последующим отбором записей в таблице и записи их в переменную
ss = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project\Dataobj.mdb;"
cn.Open ss
ss = "SELECT [Format], [textobj], [texttel] FROM [Tableobj] WHERE [Rubrika] = 'Недв/продам'"
rs.Open ss, cn, adOpenStatic, adLockOptimistic
ss = rs.GetString(adClipString, , " ", "")

' Записываем переменную в файл
Print #f, ss

'еще раз подключение к базе данных объявлений
' с последующим отбором записей в таблице и записи их в переменную
ss = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project\Dataobj.mdb;"
cn.Open ss
ss = "SELECT [Format], [textobj], [texttel] FROM [Tableobj] WHERE [Rubrika] = 'Недв/Куплю'"
rs.Open ss, cn, adOpenStatic, adLockOptimistic
ss = rs.GetString(adClipString, , " ", "")

' Записываем переменную в файл
Print #f, ss

НИХРЕНА НЕ РАБОТАЕТ!!!
Error: "Операция не допускается, если объект открыт!"

но я и сам вижу что это идеотизм каждый раз подключаться к базе и по одной рубрике записывать все в файл. Да и не работает такой вариант.

Как можно это оптимизировать?
...
Рейтинг: 0 / 0
08.10.2003, 14:08
    #32287623
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
этот кусок кода надо удалить
Код: plaintext
1.
2.
3.
'еще раз подключение к базе данных объявлений 
' с последующим отбором записей в таблице и записи их в переменную 
ss =  "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=C:\Project\Dataobj.mdb;" 
cn.Open ss 
и для полноты красивости добавить
Код: plaintext
1.
2.
3.
' закрыть набор записей
' и создать новый для след. рубрики
rs.Close
Set rs=New ADODB.Recorset
...
Рейтинг: 0 / 0
08.10.2003, 14:36
    #32287678
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Кузя, у тебя дар делать людей чуточку счастливее :-)

От всей конторы тебе БОЛЬШОЕ спасибо!
Был бы у нас в городе поставил бы ящик ...!

И последняя проблема :-)
Извини за наглость конечно, я обещаю поставить: "(с) Кузя & Boyler".

Количество выходов объявлений надо минусовать на один (-1), после выхода онных. В базе есть отдельный столбец "Kol". Возможно ли?

За отсутствие ответа не обижусь, понимаю что надоел ;-)!
...
Рейтинг: 0 / 0
08.10.2003, 14:49
    #32287708
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
посли успешной записи рубрики в файл можно поставить, например, что то типа
Код: plaintext
cn.Execute( "UPDATE [Tableobj] SET [Kol]=[Kol]-1  WHERE [Rubrika] = 'Недв/продам'")
...
Рейтинг: 0 / 0
08.10.2003, 14:55
    #32287725
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
"(с) Кузя & Boyler" - уже поставил! ;-)

Программа почти закончена, если тебе будет интересно кину сорс может пригодится кому!
...
Рейтинг: 0 / 0
13.10.2003, 13:46
    #32291223
Boyler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Всем хорошим людям пламенный привет!

Еще один вопрос по тематике!
При выборки объявлений для записи в файл срабатывает дебагер если в базе данных нет записей в какой либо из рубрик!

Уточняю:
Допустим если в рубрике недвижимость нет объявления то валится вся программа.

Как зафиксить сей баг?
пробовал ставить условие на переменную "ss" - не срабатывает!
А может и неправильно поставил:

if ss = "" Then GoTo ...
...
Рейтинг: 0 / 0
13.10.2003, 20:54
    #32291950
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
ГоТо - ненадо... от него глаза болят.
Если не срабатывает, посмотри в дебаге какое значение переменная имеет в этот момент, ее и ставь. А лучше так: она может содержать не пустую строку а пробелы, тогда

Код: plaintext
if Trim$(ss)=vbNullString then Exit sub


Magnus
...
Рейтинг: 0 / 0
14.10.2003, 14:29
    #32292720
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Необходимо преобразовать базу данных в текстовый файл!?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
If Not Rs.EOF Then
   ss = rs.GetString(adClipString, ,  " " , "") 
   ' Записываем переменную в файл 
   Print #f, ss 
Else
   ' Нихрена не делаем...
End If
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Необходимо преобразовать базу данных в текстовый файл!? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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