Doublon

spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 29 juin 2008 à 16:58
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 30 juin 2008 à 11:45
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 juin 2008 à 19:25
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
0
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
30 juin 2008 à 02:48
Oui t'as raison et d'ailleur c'est ce que j'ai fais mais malgré cela ne marche pas.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 11:45
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.
0
Rejoignez-nous