vbscrean
Messages postés3Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention15 juillet 2005
-
11 juil. 2005 à 20:06
vbscrean
Messages postés3Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention15 juillet 2005
-
15 juil. 2005 à 11:27
slt tt le monde je ss debutant en vb , et g un probleme avec la recherche et l'actualisation de la table, quant je lence la recherche et j'appuie sur le boutton actualiser il remblace l'enregistrement existante par la 1ère
et je comprend pas pour quoi?
svp aider moi! c urgent
private_sub cmd rechercher
strin = "select * from table where champ='" & Combo.Text & "'"
rs.Open strin, cn, adOpenDynamic, adLockBatchOptimistic
If Not rs.EOF Then
Text4 = rs("champ")
Text1 = rs("champ")
Text2 = rs("champ")
Text3 = rs("champ")
End If
rs.Close
end sub et pour la form
cn.Provider = "Microsoft.Jet.Oledb.3.51"
cn.ConnectionString = "C:\application\basecomplet.mdb"
cn.Open
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 11 juil. 2005 à 20:45
Salut
Ta question n'est pas claire, le code que tu as mis n'est pas authentique : tu aurais dû faire un copier/coller.
"Quand je lance la recherche" : Quand tu lances la sub "cmd_recherche" ? (avec le _ au bon endroit)
Ta Sub ne fait que recopier dans des TextBox le contenu de chaque champ.
Par contre, il prendra le premier enregistrement correspondant à ta recherche.
S'il y en a plusieurs, tu ne les verras pas.
"il remplace l'enregistrement" : dans quoi ? Dans la DB ? Dans le Combo ?
Affine ta programmation :
Un coup tu utilises Text1 = rs("champ")
et après, cette syntaxe beaucoup plus propre Text1.Text = rsa!nom_prenom
Uniformise avec cette dernière syntaxe
Il faudrait que tu charges une source qui utilise une DB pour analyser comment il faut faire, parce que, par exemple, à la fin, tu fais rs.MoveFirst juste avant le rs.Close : quel intérêt ?
Sais tu à quoi sert le rs.MoveFirst ?
Dans les syntaxes SQL, attention à bien mettre des espaces entre les termes : entre le '*' et 'from' de 'rsa' par exemple.
Reposte avec des questions plus précises ...
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
vbscrean
Messages postés3Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention15 juillet 2005 15 juil. 2005 à 11:27
merci pour vs et voila un exp de source pour la forme gestion des avences:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rsa As New ADODB.Recordset
Private Sub cmdAdd_Click()
Data1.Recordset.AddNew
End Sub
Private Sub cmdDelete_Click()
MsgBox (" Etes vous sur de vouloir supprimmer cette enregistrement?,vbOKCancel,")
Data1.Recordset.Delete
Data1.Recordset.MoveNext
End Sub
Private Sub cmdRefresh_Click()
Data1.Refresh
End Sub
Private Sub Command3_Click()
DataReport3.Show
End Sub
Private Sub Data1_Validate(Action As Integer, Save As Integer)
Select Case Action
Case vbDataActionMoveFirst
Case vbDataActionMovePrevious
Case vbDataActionMoveNext
Case vbDataActionMoveLast
Case vbDataActionAddNew
Case vbDataActionUpdate
Case vbDataActionDelete
Case vbDataActionFind
Case vbDataActionBookmark
Case vbDataActionClose
End Select
Screen.MousePointer = vbHourglass
End Sub
While Not rs.EOF
Combo5.AddItem (rs!nom_prenom)
rs.MoveNext
Wend
rs.MoveFirst
rs.Close
End Sub
cmd2: je charge les "nom_prenom" dans "combo5" depuis la table "employé" et je lance la recherche des enregistrements qui correspend a cette enreg dans la table "avance" (il y a un lien entre les 2 tables), et quant je fais "actualiser" il remplace l'enregistrement courante par la premiere et j'aurrai 2 enreg (les memes) dans ma table et la premiere disparaitra
svp je veux savoir si le code et bon? et merci bcp