Страница: 1 | 2 | 3 | 4 |
Вопрос: Внимание! Конкурс!!
Добавлено: 15.11.06 13:44
Автор вопроса: nat-z
Ответы
Всего ответов: 55
Номер ответа: 16
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #16
Добавлено: 21.11.06 00:27
Есть старинная чужая программа на Clipper c dBase. Она работает. Мне надо написать новую, но одновременно с жизнью старой. Поэтому либо:
а) писать все навсегда в VB под формат dBase. Наверно будет медленно работать.
б) постепенно переписывать функции из стар программы в новую. При этом работает и старая. Но надо будет регулярно качать из формата в формат и обратно. Причем достаточно автоматизированно и надежно, чтобы бухгалтера не нахомутали.
И если у меня заработает dbf (во что я уже слабо верю) как мне переписать таблицу в файл Dbf (допустим уже созданный и пустой (только как его очистить?). Я на основе разных примеров написала так:
 im cn1, cn2 As New ADODB.Connection
Dim rs1, rs2 As New ADODB.Recordset
Cn1.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & GBmenu.Pth0 & "\" & “GB.mdb”
Cn2.Open "river={Microsoft dBASE Driver (*.dbf)}riverID=277sn=”gbind.dbf”)
Rs1.Source = ("SELECT * FROM GBIND WHERE NPP=1"
Do Until rs1.EOF
Rs2.AddNew
For i = 0 To rs2.Fields.Count - 1
Rs2.Fields(i) = rs1.Fields(i)
Next i
Rs2.Update
Rs1.MoveNext
Loop
Это правильно?
Номер ответа: 17
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #17
Добавлено: 21.11.06 00:30
У меня на компе есть Msjet35, msjint35, msjter35, msrd2x35, msrepl35, msjtor35. И больше ничего!
У меня XP. Это плохо?
И что – никто ничего не знает?
Только не надо про Tim Accrss to DBF – это мне уже рассказывали!!
И новые вопросы. Есть например xxx.mdb и в нем таблицы gbm1, gbm2 и проч. Как можно сжать (т е сократить удаленные записи) например таблицу gbm2 из программы? Как можно полностью очистить например таблицу gmb1 (опять же из программы)?
Номер ответа: 18
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #18
Добавлено: 21.11.06 00:51
По моему нужно поставить галочки в пункте References на Microsoft Activex data Object. Сжать базу через Ado по моему нельзя, нужно dao. Таблицу нужно очистить или удалить?
Номер ответа: 19
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #19
Добавлено: 21.11.06 10:10
Что такое DAO и ADO я еще не читала. А что из них лучше?
А таблицы (не все а по выбору) надо и сжимать и чистить. Но не удалять! И не удалять сам файл.
Номер ответа: 20
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #20
Добавлено: 21.11.06 10:15
По зачетным очкам: у меня и у АлександрР - по 2, avdey - 1, Shark - 0.5. Остальные идут плотной группой - по 0. Так что шансы у всех есть, до Нов Года далеко.
И из неотвеченных вопросов - по подкл dBase,
по <... src-... TITLE=xxxx> в VB (или аналог).
Номер ответа: 21
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #21
Добавлено: 21.11.06 12:44
Так у тебя mdb открывается, DAO и ADO это подходы к работе с БД, ADO чуть сложнее, но больше возможностей. Если ADODB.Connection то ты используешь ADO. А если ты используешь элемент Data то это DAO. Сначала подключить надо, а потом разьиратся. Если mdb сжимать то создается новый маленький файл и исходный надо заменить на него. Насчет очистки я посмотрю
Номер ответа: 22
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #22
Добавлено: 21.11.06 13:37
Это уже +1.
Т е если у меня на форме элемент Data1, то это обязательно только DAO и слова с "ADO..." использовать нелься?
А то что я в старом вопросе писала значит у меня ADO? и правильно у меня в этом примере написано, без ошибок? Вопрос на +2балла...
Dim cn1 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Cn1.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & GBmenu.Pth0 & "\" & “GB.mdb”
Rs1.Source = ("SELECT * FROM GBIND WHERE NPP=1"
Do Until rs1.EOF
Next i
Rs1.MoveNext
Loop
Номер ответа: 23
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #23
Добавлено: 21.11.06 13:45
Их можно использовать совместно будет два подключения к бд,
Dim cn1 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Cn1.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & GBmenu.Pth0 & "\" & “GB.mdb”
Rs1.Source = ("SELECT * FROM GBIND WHERE NPP=1"
Do Until rs1.EOF
Next i
Rs1.MoveNext
Loop
этот текст к DAO вообще не относятся, если у тебя есть DATA то он просто не работает.
Еще по моему нужно Rs1.open
Номер ответа: 24
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #24
Добавлено: 21.11.06 13:52
Еще сразу не заметил зачем Next i, Rs1.Open перед циклом
Номер ответа: 25
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #25
Добавлено: 21.11.06 13:54
И еще по моему надо тему перенести в другой раздел, а то администратор будет ругатся
Номер ответа: 26
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #26
Добавлено: 21.11.06 14:30
На оператор: cn.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & GBmenu.Pth0 & "\" & “GB.mdb”
выдало: "Object required"
А вообще вся конструкция (надо открыть таблицу GBIND и выбрать поля Name, Comment из записей, в которых NPP=1 и все это в файле с формируемым именем: GBmenu.Pth0 & "\" & “GB.mdb”):
Private Sub Form_Load()
Dim i As Integer
Dim ttt, ttt1 As String 'Characters
'' .Source "SELECT NAME, COMMENT FROM GBIND WHERE GBIND.NPP=1"
'Set rs = cn.Execute("SELECT NAME, COMMENT FROM GBIND WHERE GBIND.NPP=1"
'rs.Open "SELECT NAME, COMMENT FROM GBIND WHERE GBIND.NPP=1", cn
''cn.Open (DSN = "GBIND"
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & GBmenu.Pth0 & "\" & “GB.mdb”
rs.Source = ("SELECT * FROM GBIND WHERE NPP=1"
rs.Open
Do Until rs.EOF
rs.MoveNext
Loop
PS Вот решу хоть этот вопрос и сразу открою новую тему, только опять здесь, а то за забором не отвечают!!
Номер ответа: 27
Автор ответа:
Shark
ICQ: 284036855
Вопросов: 35
Ответов: 155
Web-сайт:
Профиль | | #27
Добавлено: 21.11.06 14:43
Строчки перед которыми стоит ' это комментарии они значения не имеют, они просто не работают.
Строчки с " это просто текст он отдельно не используется
насчет "Object required" проверь References на Microsoft Activex data Object
Номер ответа: 28
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #28
Добавлено: 21.11.06 14:54
Поставила 2.7 (а раньше стояло 2.5). И 2 строки - еще и Library.
Номер ответа: 29
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #29
Добавлено: 21.11.06 14:55
Эта ошибка происходит вообще скорее при writeproperties. А не load или Activate если уж на то пошло...
Номер ответа: 30
Автор ответа:
nat-z
Вопросов: 13
Ответов: 85
Профиль | | #30
Добавлено: 21.11.06 14:57
А как вообще мне тупо открыть файл xxx.mdb, выбрать из таблицы yyy поля ttt1, ttt2 записей с условием lll ? Что я неправильно в своем примере написала?