Marnilla
Messages postés26Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention10 mai 2005
-
31 janv. 2005 à 15:17
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 2009
-
1 févr. 2005 à 15:48
Bonjour,
J'ai un soucis dans mon programme, je ne comprends pas pourquoi il ne fonctionne pas.
Je dois ouvrir une table dans ma base Access, j'ouvre ma table Absence où il y a l'identifiant des Absences identique à ma variable, pour recueillir des informations.
Seulement Vb me dis que les types de ma variable N et Mon IdAbsence de ma table sont incompatibles.
Ma variable est de type long et mon IdAbsence est de type automatique donc numérique entier long dans ma table. Voici mon code:
Private Sub Modif_Click()
Dim M As Variant 'recoit l'élément sélectionné dans listview donc l'id_Absence sélectionné par l'utilisateur
Dim N As Long 'recoit M en numérique
Dim Réponse As String 'recoit la réponse de l'utilisateur
'Initialisation des variables
M = ""
N = 0
M = ListView1.SelectedItem
N = Val(M)
Réponse = MsgBox(" Etes vous sûr de vouloir le modifier ?", vbOKCancel, "Mutuelle")
'Condition:si l 'utilisateur est sûr alors on poursuit la modification
If Réponse = vbOK Then
'Le formulaire enregistrement apparaît
Enregistr_Absences.Show
'Le champ num_agent recoit le numéro de l'agent dont on doit modifier l'absence
Enregistr_Absences.Num_Agent.Text = Code_Agent.Text
Call DataBase 'Ouverture de la base de données
'Ouverture de la table où il y a l'IdAbsence identique à celui récupéré dans la variable N
rs.Open "select * from Absence where IdAbsence='" & N & "'", cn, adOpenDynamic
'Transfert des données dans les champs
Enregistr_Absences.Motif_abs.Text = rs![Motif]
Enregistr_Absences.Date_Debut.Text = rs![DateDébut]
Enregistr_Absences.Date_Fin.Text = rs![DateFin]
Enregistr_Absences.Nb_Jour.Caption = rs![NbreJours]
cn.Close 'Fermeture de la base de données
End If
End Sub
Peut etre qu'il y a un type particulier qui s'accorde avec un type Automatique d'une base de données , ou est-ce un autre problème je ne sais pas.
Si quelqu'un a une solution à me proposer, il est le bienvenue.
Marnilla
Marnilla
Messages postés26Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention10 mai 2005 31 janv. 2005 à 22:38
Merci [mailto:It@li It@li]@, j'ai testé et c'est bien ça ,
par contre j'aurais bien aimé comprendre pourquoi , elles servent à quoi ces cotes au cas ou si ca devait se reproduire.
Marnilla
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 1 févr. 2005 à 08:35
Et au fait si tu ne veux pas que ça plante si il ni a aucun enregistrement de trouvé :
If Rs.RecordCount <>0 Then
Enregistr_Absences.Motif_abs.Text = rs![Motif]
Enregistr_Absences.Date_Debut.Text = rs![DateDébut]
Enregistr_Absences.Date_Fin.Text = rs![DateFin]
Enregistr_Absences.Nb_Jour.Caption = rs![NbreJours]
End If