Format access2000 dans vb6???

Résolu
mertronic
Messages postés
28
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
9 août 2015
- 10 déc. 2005 à 10:53
jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
- 10 déc. 2005 à 11:32
Bon je sais, j'ai déja posé cette question mais comme le premier sujet fait 3 km et qu'on y comprend plus rien, ze recommance...
alors voila un cht'it bout de programme pour ouvrir une base de donnee access2000, (quand j'essaye avec le control data il me met format non reconnu) sonc j'essaye avec ca:

Option Explicit
Dim MyBd As Database
'pour que ca marche fo cocher Microsoft DAO 3.6 dans projet, références
Dim Msto As Recordset
Dim ChemDat As String
Private Sub Command1_Click()
Msto.MoveFirst
Text1 = Msto!refst
End Sub
Private Sub Command2_Click()
Msto.MovePrevious
If Msto.BOF Then
Command1_Click
Else
Text1 = Msto!refst
End If
End Sub
Private Sub Command3_Click()
Msto.MoveNext
If Msto.EOF Then
Command4_Click
Else
Text1 = Msto!refst
End If
End Sub
Private Sub Command4_Click()
Msto.MoveLast
Text1 = Msto!refst
End Sub
Private Sub Command5_Click()
Set Msto = MyBd.OpenRecordset("select * from stock where refst='" & Text1 & "'")
If Msto.EOF Then
MsgBox "Pas trouvé!"
Command4_Click
Else
Label1 = Msto!designst
End If
End Sub
Private Sub Form_Load()
ChemDat$ = "c:\ges\data\infoglob.mdb"
Set MyBd = OpenDatabase(ChemDat$)
Set Msto = MyBd.OpenRecordset("stock", 1) 'le 1 n'est pas de moi mais c'est pareil 'que dbOpenBase
End Sub
Private Sub Text1_Change()
If Len(Text1) < 8 Then Exit Sub
Command5_Click
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9
Case vbKeyBack
Case Else
KeyAscii = 0
End Select
End Sub

La ligne en rouge fonctionne bien mais 1 fois seulement, après, la base de donnée est bloqué sur l'enregistrement trouvé et les contrôles movenext, moveprevious ... ne fonctionnent plus, la base répond Eof ET Bof True ce qui est bizare pour une base de 90000 références!!!
j'ai une solution (pas terrible) qui consiste à ramener la base de donnée dans une version antérieur
(voir le dernier post de: [javascript:ol('http://www.vbfrance.com/forum.v2.aspx?ID=615330'); http://www.vbfrance.com/forum.v2.aspx?ID=615330])
mais bon, si y'a mieux, je vous écoute moi je renonce a chercher (apres 3 jours de galère)
Merci de votre aide
Michel.

3 réponses

FMatrix07
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
10 déc. 2005 à 11:15
Pour fermer
Msto.MoveLast
Msto.Close
3
jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
27
10 déc. 2005 à 11:32
Bonjour,

Relier un contrôle Data à une BD Access 2000. Pour celà Microsoft DAO 3.6 Object Library doit-être installé et sélectionné.



Dim daoDB36 As Database
Dim rs As Recordset
Dim sPath As String

sPath = "c:\base.mdb"
Set daoDB36 = DBEngine.OpenDatabase(sPath)
Set rs = daoDB36.OpenRecordset("tClients")
Set Data1.Recordset = rs

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.
3
FMatrix07
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
2
10 déc. 2005 à 11:14
As-tu essayé avant le end sub
de fermer ton recordset
0