the_little_big_man
Messages postés86Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention14 février 2011
-
20 avril 2007 à 14:54
abderrahimbenaya
Messages postés2Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention 8 avril 2008
-
7 mai 2007 à 00:14
déja bonjour tout le monde et merci pour l'aide que vous m'avez déja apporté et pour celui qui viens ...
je vous explique mon problement...
j'ai créer une base qui contient une table T_Client avec les champs ID,nom,prenom et mail. mo champ id est défini comme numerique et le reste comme texte.
j'arrive à rentrer mes client , les supprimer , les modifier ...J'arrive aussi à détecter le fait qu'on rentre un identifiant déja existant dans la base... et je voudrais pouvoir remplacer la personne qui avait l'id détecter par une nouvelle et incrémenter ceux ki sont en dessous de 1
exemple : nous avons un client id=2,nom =paul.
si on rentre comme nouveau client id=2,nom jean
on demande si on vx le remplacer paul par jean. si oui , paul passe en id 3 et jean en 2
j'espere que c'est claire
je débute en Vb ( plus habituer au C-builder-) dc j'ai vraiment besoin d'aide... c'est pour mon stage .
je vous remercie d'avance ....
Sub UpdateMDB(strID, strNom)
Dim Db, Rs, strAccess, reponse, i
Set Db = CreateObject("ADODB.Connection")
strAccess = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Path_Base
Db.Open(StrAccess)
Set Rs = CreateObject("ADODB.Recordset")
Rs.CursorType = adOpenStatic
Rs.LockType = adLockOptimistic
Rs.Open "SELECT * FROM " & MaTable & " ORDER BY ID", strAccess
If Rs.EOF = False Then
Rs.MoveFirst
do while not Rs.EOF
If Rs.Fields("ID") = strID Then
If Rs.Fields("nom") <> strNom Then
reponse = MsgBox("Voulez-vous attribuer ID=" & strID & " pour nom=" & _
strNom & " et incrémenter les ID suivantes ",vbYesNo, _
"ID=" & Rs.Fields("ID") & " existe déjà mais nom=" & Rs.Fields("nom"))
If reponse = vbNo Then Exit Do
'MsgBox Rs.RecordCount,,"Nombre de RecordSet"
For i=strID To Rs.RecordCount
Rs.Fields.Item("ID").Value = Rs.Fields.Item("ID")+1
Rs.Update
Rs.MoveNext
Next
Rs.AddNew
Rs.Fields("ID").Value = strID
Rs.Fields("nom").Value = strNom
Rs.Fields("prénom").Value = InputBox("Veuillez saisir le prénom de " & strNom)
Rs.Fields("mail").Value = InputBox("Veuillez saisir l'adresse mail de " & strNom)
Rs.Update
Exit Do
End If
End If
Rs.MoveNext
Loop
End If
Rs.Close
Db.Close
Set Rs = Nothing
Set Db= Nothing
End Sub
A toi de rajouter le test de vérification sur l'existence dans la table de strNom
Effectivement, comme le dit Nicko11, il faudrait avoir un peu plus de détail de code, pour avoir une réponses précise de la part des menbres qui regardent le post...
A+
Exploreur