CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006
-
23 août 2005 à 11:39
actu5394
Messages postés41Date d'inscriptionjeudi 25 avril 2002StatutMembreDernière intervention16 octobre 2005
-
23 août 2005 à 16:09
Bonjour, je suis occupée encore et toujours avec mon projet en VB6...
J'ai donc trois textbox et une listview, il me faut gérer les localités
Lors du chargement de cette feuille là, l'erreur suivante apparait : "Erreur d'exécution "13" Type incompatible...
Je ne comprend pas...
Voici le code de la form_load et le problème en surligné:
Private Sub Form_Load()
ChargementEffectuer = True
'Chargement des ADO et remplissage de la liste des localités
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "TLocalite"
Adodc1.Refresh
'remplissage de la liste des Codes postaux
ListLoca.ListItems.Clear
For I = 0 To Adodc1.Recordset.RecordCount - 1
Set ligne = ListLoca.ListItems.Add(I + 1, , Adodc1.Recordset("Numero").Value)
If Adodc1.Recordset("Nlocalite").Value <> "" Then
ligne.SubItems(2) = Adodc1.Recordset("Nlocalite").Value
Else
ligne.SubItems(2) = ""
End If
If Adodc1.Recordset("Pays").Value <> "" Then
ligne.SubItems(3) = Adodc1.Recordset("Pays").Value
Else
ligne.SubItems(3) = ""
End If
Adodc1.Recordset.MoveNext
Next I
End Sub
Alors en lançant le programme avec le point d'arrêt, il m'indique :
Adodc1.Recordset("Num ero").Value=1
Les bases de données réalisées en access, et bien sûr le champ Numero est en mode NumeroAuto
Voilà que dire de plus...
Si qqun pourrait me dire ce qui ne va pas ce serait vraiment bien car ça fait déjà deux heures que je cherche et rien...
Merci pour tout
Cycy
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 20061 23 août 2005 à 12:53
Regarde tes déclarations de variables, cette erreure est souvent généré lorsque tu essaye de donner une valeur à une variable qui n'a pas le bon type (genre insérer une chaine string dans une variable Long)
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006 23 août 2005 à 13:41
non mes variables sont bien déclarées il y a :
Dim ligne As ListItem
et ces deux autres variables dans le module
Public Modification As Boolean
Public ChargementEffectuer As Boolean
j'ai un peu modifié le code j'ai cela maintenant
******************************************************************************
Dim ligne As ListItem
Private Sub BAjout_Click()
'Enregistrement de l'ajout ou de la modification
If Text1(0).Text = "" Then
'On doit obligatoirement remplir le code postal
MsgBox "Le code postal doit obligatoirement être renseigné !", vbInformation, "Incomplet!"
Text1(0).SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
'On doit obligatoirement remplir la localité
MsgBox "Le champ localité doit obligatoirement être renseigné !", vbInformation, "Nom Incomplet!"
Text1(1).SetFocus
Exit Sub
ElseIf Text1(2).Text = "" Then
'On doit obligatoirement remplir le pays
MsgBox "Le Pays doit obligatoirement être renseigné !", vbInformation, "Nom Incomplet!"
Text1(2).SetFocus
Exit Sub
Exit Sub
End If
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "TLocalite"
Adodc1.Refresh
'controle si le code postal n'est pas déjà utilisé!
If Adodc1.Recordset.RecordCount > 0 And Modification = False Then
MsgBox "Le code postal existe déjà, veuillez le modifier!", vbInformation, "Code article existant!"
Text1(0).Text = ""
Text1(0).SetFocus
Exit Sub
End If
If Modification = False Then Adodc1.Recordset.AddNew 'Si ce n'est pas une modification on ajoute un article à la table
If Modification = False Then 'Si ce n'est pas une modification on ajoute un article à la list_view et on finit de la remplir
Set ligne = ListLoca.ListItems.Add(FrmArticles.lsiArticles.ListItems.Count + 1, , txtCode.Text)
Else 'Si c'est une modification on reprend la même ligne de la list_view et on finit de la remplir
Set ligne = ListLoca.ListItems.Item(ListLoca.SelectedItem.Index)
End If
Private Sub Form_Activate()
Text1(0).SetFocus
If ChargementEffectuer = False Then Me.Form_Load
End Sub
Private Sub Form_Load()
ChargementEffectuer = True
'Chargement des ADO et remplissage de la liste des localités
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "TLocalite"
Adodc1.Refresh
ListLoca.ListItems.Clear
' on se place au début de la table Article
Adodc1.Recordset.MoveFirst
' tant qu'on est pas à la dernière ligne de la table TLocalite
For j = 0 To Adodc1.Recordset.RecordCount - 1
Set ligne = ListLoca.ListItems.Add(j + 1, , Adodc1.Recordset.Fields(0))
ligne.SubItems(1) = Adodc1.Recordset(1)
If Adodc1.Recordset.Fields(2) <> "" Then
ligne.SubItems(2) = Adodc1.Recordset.Fields(2)
Else
ligne.SubItems(2) = ""
End If
If Adodc1.Recordset.Fields(3) <> "" Then
ligne.SubItems(3) = Adodc1.Recordset.Fields(3)
Else
ligne.SubItems(3) = ""
End If
' on passe à la ligne suivante
Adodc1.Recordset.MoveNext
Next j
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub ListLoca_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
'tri des fournisseurs par collones
ListLoca.Sorted = True
Select Case ColumnHeader
Case "Numero"
ListLoca.SortKey = 0
Case "NCodPos"
ListLoca.SortKey = 1
Case "Nlocalite"
ListLoca.SortKey = 2
Case "Pays"
ListLoca.SortKey = 3
End Select
If ListLoca.SortOrder = lvwAscending Then
ListLoca.SortOrder = lvwDescending
Else
ListLoca.SortOrder = lvwAscending
End If
ListLoca.Sorted = False
End Sub
**************************************************************************************
voilà tout mon code pour cette F_Localite