asmoussa
Messages postés13Date d'inscriptionjeudi 8 mars 2012StatutMembreDernière intervention 4 juillet 2012
-
4 juil. 2012 à 01:35
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
5 juil. 2012 à 14:28
je suis entrain de devolopper une formulaire articles de laquelle on obtient un autre formulaire d'ajout ou se trouve un combobox pour type de famille(baguette ou paquet) la probleme ce que losrque je faire débugger un messae s'affiche:
"Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'commande.ClassTFamille'."}
Qui peut m'aider avec cette problème
c'est mon module connection que je prepare:
Module connection
Public sConStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\toshiba\Documents\GestiondeCommande.accdb;"
Public val As String
Public OpModif As Integer
Public ivalnum As Integer
Public tCom(2) As Integer
Public tab1(10) As String
Public OpAjoutCLI As Byte = 0
Public Articles(6) As String
Public OpAjoutCMDART As Byte = 0
Public OpModifCLIEN As Byte = 0
Public OpModifLign As Byte = 0
Public opAjoutART As Byte = 0
Public OpAjoutLign As Byte = 0
Dim Sm As Integer = 0
Dim TxtSql As String
Public Sub LancerRequete(ByVal requete As String)
Dim oCn As New Data.OleDb.OleDbConnection
Dim oCM As New Data.OleDb.OleDbCommand
oCn.ConnectionString = sConStr
oCn.Open()
oCM.Connection = oCn
oCM.CommandText = requete
oCM.ExecuteNonQuery()
oCn.Close()
End Sub
Public Sub chargerCombobox(ByVal combo As ComboBox, ByVal sqlString As String)
Dim ocn As New System.Data.OleDb.OleDbConnection
Dim ocm As New System.Data.OleDb.OleDbCommand
ocn.ConnectionString = sConstr
ocn.Open()
ocm.Connection = ocn
ocm.CommandText = sqlString
Dim monlecture As System.Data.OleDb.OleDbDataReader = ocm.ExecuteReader
Do While monlecture.Read
Dim rf As New ClassTFamille(monlecture.GetValue(0), monlecture.GetValue(1))
combo.Items.Add(rf)
Loop
monlecture.Close()
ocn.Close()
End Sub
Public Sub SearchMax(ByVal NomTable As String, ByVal ChampsID As String, ByRef Max As Integer)
Dim Sm As Integer = 0
Dim TxtSql As String
TxtSql = "select Max(" & ChampsID & ") as Maxx from " & NomTable
Dim myConnection As New Data.OleDb.OleDbConnection(sConStr)
Try
Dim myCommand As New OleDb.OleDbCommand(TxtSql, myConnection)
myCommand.Connection.Open()
Dim myReader As OleDb.OleDbDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
While myReader.Read()
If IsDBNull(myReader.GetValue(0)) Then
Sm = 1
Else
Sm = (myReader.GetValue(0)) + 1
End If
End While
myReader.Close()
Catch ex As Exception ' Catch the error.
MsgBox(ex.ToString)
Finally
Max = Sm
myConnection.Close()
End Try
End Sub
et aussi mon module concernant le combobox:
Public Class ClassTFamille
Private _Code_Famille As Integer
Private _Type_Famille As String
Public Sub New(ByVal Type_Famille As String, ByVal Code_famille As Integer)
Code_Famille = Code_Famille
_Type_Famille = Type_Famille
End Sub
Public ReadOnly Property Type_Famille() As Integer
Get
Return _Code_Famille
End Get
End Property
Public ReadOnly Property Code_Famille() As Integer
Get
Return _Type_Famille
End Get
End Property
End Class
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 4 juil. 2012 à 19:29
Bonjour,
Sur quelle ligne ?
Le message est suffisamment claire pour en comprendre la raison.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site