Doublon

Signaler
Messages postés
183
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
30 mars 2013
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
Salut,

J'ai un formulaire de visite oû je remplie les informations concernant la visite d'un patient. Les informations concernant ce dernier est enregistré sur ma base de données et à chaque fois qu'il vient chez nous, on cherche son dossier et on rempli une autre et nouvelle fiche de visite. Tout cela marche parfaitement sauf quand je tente à remplir une nouvelle fiche visite, je reçoie un bug m'indiquant qu'il existe un doublon. Je ne peux pas enlever cela au niveau de la base car je devrai enlever la clé primaire, mais j'aimerai que la deuxième fiche s'enregistrer même s'il y a un doublon. Voici mon code :

k = MsgBox("Voulez-vous enregistrer cette visite ?", vbYesNo + vbQuestion)
If k = vbYes Then
    rs_visite.AddNew
    rs_visite!code_patient = idpatient
    rs_visite!age = age
    rs_visite!date_visite = DateVisite.Value
    rs_visite!genre_visite = GenreVisite
    rs_visite!medecin_resp = Medecin
    rs_visite.Update
    rs_visite.Requery
    rs_detailspatient.AddNew
    rs_detailspatient!code_patient = idpatient
    rs_detailspatient!poids = poids
    rs_detailspatient!taille = taille
    rs_detailspatient!p_systolique = PSystolique
    rs_detailspatient!p_diastolique = PDiastolique
    rs_detailspatient!pam = pam
    rs_detailspatient!acidose = acidose
    rs_detailspatient!duirese = duirese
    rs_detailspatient.Update
    rs_detailspatient.Requery
    MsgBox "Enregistrement de la visite est effectué avec succès.", vbInformation, "OPERATION EFFECTUEE"
    GenreVisite = ""
    Medecin = ""
    poids = ""
    taille = ""
    PSystolique = ""
    PDiastolique = ""
    pam = ""
    acidose = ""
    duirese = ""
    DateVisite.SetFocus
    End If
End Sub

Private Sub interv_Click()
If interv.Value = 1 Then
    'f_hospitalisation.Show
    'f_hospitalisation.idpatient = idpatient
    F_Patient.Command3.Enabled = True
    F_Patient.Command4.Enabled = True
    rs_antecedents.AddNew
    rs_antecedents!code_patient = idpatient
    rs_antecedents!antecedents = maladies
    rs_antecedents!hospitalisation = interv
    rs_antecedents.Update
    rs_antecedents.Requery
    MsgBox "La remarque a bien été enregistrée sur le dossier du patient. Veuillez réserver une chambre au patient.", vbInformation, "OPERATION EFFECTUEE"
    Unload Me
    F_Patient.Show
End If

et merci mes amis.

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
32
Salut

Je ne pratique plus le vb6 mais voici une idée

Si tu utilise la gestion des erreurs
on error goto XXXX

et dans le label XXXX
tu regardes le numero d'erreur remonté par la base à VB6 et c'est c'est le numero de doublon
et bien tu fais le traitement  que tu veux
calcul d'une nouvelle clé ou autre traitement

en espérant que ca fonctionne

bon courage
Messages postés
183
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
30 mars 2013

Oui t'as raison et d'ailleur c'est ce que j'ai fais mais malgré cela ne marche pas.
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,
Salut,
ton problème est du à une erreur de conception.

*DOSSIERS              *VISITES
 IdPatient ---\            IdVisite
                   \--->     IdPatient

NB: ta table antécédants doit avoir son propre identifiant.
A chaque nouvelle visisite, tu récupères le numéro de la dernière et tu ajoutes un.





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.