powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Необходимо преобразовать базу данных в текстовый файл!?
15 сообщений из 15, страница 1 из 1
Необходимо преобразовать базу данных в текстовый файл!?
    #32286217
Фотография Boyler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

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

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

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

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

Заранее спасибо!
...
Рейтинг: 0 / 0
Необходимо преобразовать базу данных в текстовый файл!?
    #32286233
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаешь выборку с нужными полями в ADODB.Recordset и сохраняешь его в виде текстового файла (сначала в строку, а затем в файл) с нужными разделителями колонок
...
Рейтинг: 0 / 0
Необходимо преобразовать базу данных в текстовый файл!?
    #32286275
Фотография Boyler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста для полных профанов!
Хочу "написать" програмку для набора объявлений, т.к. для производства крайне необходима - времени крайне не хватает!
...
Рейтинг: 0 / 0
Необходимо преобразовать базу данных в текстовый файл!?
    #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
Необходимо преобразовать базу данных в текстовый файл!?
    #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
Необходимо преобразовать базу данных в текстовый файл!?
    #32286381
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
строка подключения к БД access
Код: plaintext
ss= "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=C:\Project\Dataobj.mdb;" 
...
Рейтинг: 0 / 0
Необходимо преобразовать базу данных в текстовый файл!?
    #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
Необходимо преобразовать базу данных в текстовый файл!?
    #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
Необходимо преобразовать базу данных в текстовый файл!?
    #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
Необходимо преобразовать базу данных в текстовый файл!?
    #32287678
Фотография Boyler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузя, у тебя дар делать людей чуточку счастливее :-)

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

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

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

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

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

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

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

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

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

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


Magnus
...
Рейтинг: 0 / 0
Необходимо преобразовать базу данных в текстовый файл!?
    #32292720
Фотография 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
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Необходимо преобразовать базу данных в текстовый файл!?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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