mertronic
Messages postés28Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 9 août 2015
-
10 déc. 2005 à 10:53
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 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.