URGENT!!!!!!! Bug dans mon Programme : au lancement: "utilisation non autorisée

Résolu
Signaler
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006
-
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006
-
kikou,
Je dois créer une interface permettant de gérer les stages dans une école.
Dans mon prog j'ai 6 tables.
au lancement j'ai une feuille d'accueil permettant à partir d'un menu d'ouvrir la saisie d'étudiants. Lors de l'exécution de cette saisie, il y a un bug qui me dit: "utilisation non autorisée de null"

D'après moi le problème vient du fait d'avoir créer ma feuille étudiant où j'ai le choix du code postal avec une combobox

Dans la feuille étudiant j'ai deux data: etudiant et localite et un adodc

Le bug vient au niveau du odbc voici le code et le prob est mis en gras:

Private Sub Form_Load()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset
Dim ConnectionString As String
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & " Data Source=C:\Documents and Settings\cyrielle\Bureau\Projet_Stage_VB\Projet\Vers97.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "TLocalite", adoConnection
Do Until adoRecordSet.EOF
Combocodepostal.AddItem adoRecordSet!Codpos
Combocodepostal.ListIndex = 0
adoRecordSet.MoveNext
Loop
adoRecordSet.Close
adoConnection.Close
Set adoConnection = Nothing
Set adoRecordSet = Nothing

Voilà d'après le débuggage d'où vient le problème mais j'ai modifié les relations dans la base access de mes tables pensant que c'était à cause des doublons mais apparemment ça ne va pas alors ce serait vraiment cool si qqun pourrait m'aider rapidement car c'est pour un exam de passage et j'aimerais pouvoir finir ce prog assez rapidement
Merci d'avance
Cycy

2 réponses

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
6
Salut,
Pour un des enregistrements de ta table TLocalite, le champ Codpos n'est pas renseigné (=Null). Pour corriger le problème, tu peux faire :
Combocodepostal.AddItem adoRecordSet!Codpos & ""
(car la concatenation de Null et une chaine vide renvoie une chaine vide), mais tu verras une ligne vide apparaitre dans ta liste
Ou tester si le champ est null ou non
if Not IsNull(adoRecordSet!Codpos) Then
Combocodepostal.AddItem adoRecordSet!Codpos
End if

PS : tu n'es pas obligée de mettre ListIndex = 0 dans ta boucle. Tu peux la mettre après.
3
Messages postés
67
Date d'inscription
jeudi 19 mai 2011
Statut
Membre
Dernière intervention
22 mai 2006

Un grand merci c'est vraiment trop gentil je me suis cassée la tête pour peu de choses finalement mais ce détail là fallait le savoir
0