Ouvrir une table Access par VB6

Résolu
Marnilla Messages postés 26 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 10 mai 2005 - 31 janv. 2005 à 15:17
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 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

6 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
1 févr. 2005 à 15:48
Coches Reponse Acceptée !

It@li@
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
31 janv. 2005 à 15:44
Vires les simples Cote

" & N & "",

It@li@
0
Marnilla Messages postés 26 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 10 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
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
1 févr. 2005 à 08:28
Coches Reponse Acceptée !

Tout simplement car : ' " & N & " ' ", c' est pour les champs de type Texte
" & N & " ", c'est pour les champs de type Numérique

It@li@
0

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

Posez votre question
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
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

It@li@
0
Marnilla Messages postés 26 Date d'inscription jeudi 27 janvier 2005 Statut Membre Dernière intervention 10 mai 2005
1 févr. 2005 à 15:31
Merci tu tuyau

Marnilla
0