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
Rejoignez-nous