Rempli base donnée

lamranilamrani Messages postés 10 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 5 juin 2011 - 30 mai 2011 à 22:08
sboumediene Messages postés 4 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 12 juin 2011 - 12 juin 2011 à 19:20
salut
j'ai un probleme dans mon programma vb
lorsque j'ajoute un enregistrement dans ma base de donnée on utilisant le bouton AJOUTER il 'ajoute mais lorsque je veux ajouter un autre li ecraze celui que j'ai entrer meme probleme pour la modification d'un enregistrement
voisi le code


AJOUTER


Private Sub cmdadd_Click()
connect
Set rs = New ADODB.Recordset
rs.Open "Exploitant", cn, 1, 2
rs.AddNew
cmdsave.Visible = True
activer
End Sub


puis je click sur cmd sauvgarder

SAUVGARDER

Private Sub cmdsave_Click()
connect
Set rs = New ADODB.Recordset
rs.Open "Exploitant", cn, 1, 2
If Option1.Value = True Then
rs![NumCINExploit/RegistreCommerce] = Text1.Text
rs![TypeCIN/RegiComer] = Text2.Text
rs![DateobtentionCIN] = DTPicker1.Value
rs![LieuobtentionCIN] = Text4.Text
rs![NomArabe] = Text5.Text
rs![NomFrancais] = Text6.Text
rs![AdresseArabe] = Text7.Text
rs![AdresseFrancais] = Text8.Text
rs![Tel] = Text9.Text
rs![Fax] = Text10.Text
rs![Email] = Text11.Text
rs![NumeroCINRepresentant] = Text22.Text
rs![TypeExploitant] = "P"
rs.Update
MsgBox "l'Exploitan" & Text5.Text & "est ajoutée"
Else
If Option2.Value = True Then
rs.MoveLast
rs![NumCINExploit/RegistreCommerce] = Text12.Text
rs![TypeCIN/RegiComer] = Text13.Text
rs![NomArabe] = Text14.Text
rs![NomFrancais] = Text15.Text
rs![AdresseArabe] = Text16.Text
rs![AdresseFrancais] = Text17.Text
rs![Activite] = Text18.Text
rs![Tel] = Text19.Text
rs![Fax] = Text20.Text
rs![Email] = Text21.Text
rs![TypeExploitant] = "M"
rs.Update
MsgBox "l'Exploitant" & Text14.Text & "est ajoutée"
End If
End If
vider
desactiver

End Sub

SI vous avez une sollutin a ce probleme veuillez me repondre
cordialement

5 réponses

NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
30 mai 2011 à 22:40
Bonjour,

Il faut faire un AddNew à chaque ajout, pas une seule fois.

0
ingito Messages postés 35 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 17 juin 2011
10 juin 2011 à 16:10
Bonjour,
pour l'ajout tu met
rs.addnew
pour la modification
rs.movefirst 'pour se pointer sur le haut de la base
rs.find
0
sboumediene Messages postés 4 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 12 juin 2011
11 juin 2011 à 02:50
moi je pense que tu doit just mettre
rs.addnew au debut de ta commande "sauvegarde"
ou tu fait une condition genre

if rs.EOF then
===> la commande sauvegarder
else
msgbox "...."
end if

simo
0
ingito Messages postés 35 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 17 juin 2011
11 juin 2011 à 11:46
Bonjour
je croix qu'avec le même bouton de sauvegarde, il veut modifier et sauvegarder selon l'option 1 ou 2
alors addnew seul ne fera pas l'affaire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sboumediene Messages postés 4 Date d'inscription mercredi 18 mai 2011 Statut Membre Dernière intervention 12 juin 2011
12 juin 2011 à 19:20
donc apres chaque opération tu doit rafraichir l'ADODC
pour cela apres update et tu ferme la boucle puis ADODC1.refrech
voiçi un exemple c grand mais tt pour un ajout a 100%:
Private Sub ajouter_Click()
On Error GoTo er
If Text1.Text "" Or Text2.Text "" Or Text3.Text = "" Or DataCombo1.Text = "Choix" Or DataCombo2.Text = "Choix" Or DataCombo3.Text = "Choix" Or DataCombo4.Text = "Choix" Then
MsgBox "vous devez remplir toutes les zones de textes ", vbInformation, "Gestion des dépenses budgetaires"
Else
rs_dm.Filter = "N°dm='" & Text1.Text & "'"
If rs_dm.EOF = False Then
MsgBox "Cette DM existe dèjà,vous devez saisire un nouveau numéro de DM", vbInformation, "Erreu.."
Text1.SetFocus
Else
''''''''''''''''''''''''''''''''
Do
If DataCombo4.Text = AB.Fields(0).Value Then
AB.Update
s = True
If Val(Text6.Text) < AB.Fields(2).Value Then
Text6.Enabled = False
rs_dm.Filter = "N°DM='" & Text1.Text & "'"
If rs_dm.EOF Then
With rs_dm
.AddNew
!N°DM = Text1.Text
!date_saisie_dm = Text2.Text
!Code_unité = DataCombo1.Text
!Année_bdg = DataCombo2.Text
!qté_ddée_dm = Text3.Text
!IMPUTATION = DataCombo3.Text
!N°Nre = DataCombo4.Text
.Update
End With

Else
MsgBox " la dm existe dèjâ"
End If
rs_dm.Filter = ""
AB.MoveFirst
AB.Filter = "N°Nre='" & DataCombo4.Text & "'"
Do
If DataCombo4.Text = AB.Fields(0).Value Then
AB.Fields(2).Value = AB.Fields(2).Value - Val(Text6.Text)
AB.Update
trouve = True
Else
AB.MoveNext
End If
Loop Until AB.EOF Or trouve
MsgBox "Enregistrement réussi", vbInformation, "Gestion des dépenses budgetaires"
Adodc6.Refresh
vider
Else
If MsgBox("Vous avez dépasser le budget, voulez-vous continuer?", vbYesNo + vbExclamation, "Gestion des dépenses budgetaires") = vbYes Then
Text6.Enabled = False
rs_dm.Filter = "N°DM='" & Text1.Text & "'"
With rs_dm
.AddNew
!N°DM = Text1.Text
!date_saisie_dm = Text2.Text
!Code_unité = DataCombo1.Text
!Année_bdg = DataCombo2.Text
!qté_ddée_dm = Text3.Text
!IMPUTATION = DataCombo3.Text
!N°Nre = DataCombo4.Text
.Update
End With
rs_dm.Filter = ""
AB.MoveFirst
AB.Filter = "N°Nre='" & DataCombo4.Text & "'"
Do
If DataCombo4.Text = AB.Fields(0).Value Then
AB.Fields(2).Value = AB.Fields(2).Value - Val(Text6.Text)
AB.Update
trouve = True
Else
AB.MoveNext
End If
Loop Until AB.EOF Or trouve
MsgBox "Enregistrement réussi", vbInformation, "Gestion des dépenses budgetaires"
Adodc6.Refresh
vider
End If
End If
Else
AB.MoveNext
End If
Loop Until AB.EOF Or s
End If
End If
er:
If Err.Number <> 0 Then MsgBox Err.Description
Text1.SetFocus
End Sub

simo
0
Rejoignez-nous