Access 2007 с Visual Basic 6.0

10 отговора 0 прегледа
#1

Access 2007 с Visual Basic 6.0

Здравейте !
Може ли някой да ми помогне да свържа Аccess 2007 с Visual Basic 6.0

Как ли не опитах да я свържа тази таблица , но все ми дава грешка : could not find file и ми маркира ето този ред от сорса :

db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & path

А ето го и целия сорс:

Form1:

Private Sub Form_Load()
With ListView1.ColumnHeaders
.Add , , "№", 300
.Add , , "ЕГН", 1200
.Add , , "Име", 2000
.Add , , "Презиме", 2000
.Add , , "Фамилия", 2000
.Add , , "Санкция", 5000
.Add , , "Дата", 1200
End With
LoadData
End Sub

Sub LoadData()
Dim list As ListItem
Dim X As Integer
ConnectDB
rs.Open "Select * from AND", db, 3, 3
Do Until rs.EOF
Set list = ListView1.ListItems.Add(, , rs(0))
For X = 1 To 7
list.SubItems(X) = rs(X)
Next X
rs.MoveNext
Loop
Set rs = Nothing
db.Close: Set db = Nothing

End Sub

Module1:

Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public path As String
Public Sub ConnectDB()
path = App.path & "\AND.mdb"
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & path
End Sub

Тъкато съм още прохождащ така да се каже, вероятно е да съм пропуснал нещо! Но не мога да вдяна !
Щ е се радвам на всякакви съвети, относно свързването на Аccess 20007 с Visual Basic 6.0

Отговор
в отговор на drosg #2

Re: Access 2007 с Visual Basic 6.0

Версия на Windows?


Отговор
в отговор на Naki #3

Re: Access 2007 с Visual Basic 6.0

Windows XP

Отговор
в отговор на drosg #4

Re: Access 2007 с Visual Basic 6.0

Имаш шпации в connection string, които са делимитъри в случая, затова ти пращи.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
трябва да стане:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=

Ето този сайт си го сложи във bookmarks.
[линк]

Отговор
в отговор на croesus #5

Re: Access 2007 с Visual Basic 6.0

Благодаря ти, пробвах , но не стана ! По същия начин ми маркира този ред и ми излиза съобщение от сорта , че не намира файла ....

Отговор
в отговор на drosg #6

Re: Access 2007 с Visual Basic 6.0

Жалко, че не е станало. Според мен проблемът ти е във въпросния connection string, не в останалата част на кода. Така че предлагам да го изпробваш в различни варианти, докато проработи. VB6 има много добри средства за дебъг. Можеш да пробваш в Immediate window точно тази част на кода и да работиш върху нея, докато тръгне без грешка.

Отговор
в отговор на drosg #7

Re: Access 2007 с Visual Basic 6.0

Какво стана, реши ли (се) проблема?


Отговор
в отговор на drosg #8

Re: Access 2007 с Visual Basic 6.0

Мъка! Пробвай с db.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path

JET не поддържа новите формати на access/excel. За да ползваш новия OLEDB provider на access трябва да инсталираш при клиента Microsoft Access Database Engine 2010 Redistributable.

Готиното е, че в горния редистрибутив вече има и x64 версия на provider-а, ако ролзваш linked server-и под x64 версия на SQL Server.

[линк]
Отговор
в отговор на wqw #9

Re: Access 2007 с Visual Basic 6.0

Все същия резултат за съжаление !

Отговор
в отговор на drosg #10

Re: Access 2007 с Visual Basic 6.0

Ти да не би да имаш проблем с ADO? Коя версия ползваш в Project | References?

Я виж какво ти дава това

Set db = New ADODB.Connection

... точно преди db.Open

Имаш ли Office 2010? Ако не, пробвай да инсталираш Access DB Engine-а от предния пост.

[линк]
Отговор
в отговор на drosg #11

Re: Access 2007 с Visual Basic 6.0

Един елеметарен трик за тестване на конекти и създаване на верни стрингове:
1. Прави се един нов, празен файл и се преименува на "нещоси.udl"
2. Цъкваш два пъти - стартира се "OLE DB Core service"- формичка Data Link property
3. Избираш си каквото искаш и тестваш връзката
4. Излизаш от Data Link property, отваряш "нещоси.udl" с текстов редактор и си копираш стринга.
ето примерче:
[code]
[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=T:\!!!!!_PGMETT\@@_Work\SUBD & Prilojen soft\Books\Access_2003_Goncharov\pochta.mdb;Persist Security Info=False
[/code]

ПП По-добрия начин е да се направи потребителския интерфейс така, че потребителя в параметри да настройва Data Link property (да му се дава достъп до сервиза) и програмата да ползва създадената от потребителя връзка.

Редактирано от NikB на

Отговор