0/5 (1 avis)
Vue 17 986 fois - Téléchargée 4 715 fois
Imports System Imports System.Data Imports System.Data.OleDb Module module1 Sub CtrlEnregSaisieCbo(ByVal ChampCtrl As ComboBox, ByVal SqlFiltre As String) Dim Connection As New OleDb.OleDbConnection Try If ChampCtrl.Text <> "" Then '' -> PARAMETRE DE CONNECTION ' Connection Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =" & Application.StartupPath & "\Source\Voiture.mdb;" '' -> EXTRACTION DU NOM DE LA TABLE ET DU NOM DU CHAMP DE RECHERCHE ' Format de SqlFiltre : SELECT NomDeLaTable.NomDuChampRecherche, NomDeLaTable.AutresChamps FROM NomDeLaTable;" Dim NomTable As String Dim NomChamp As String 'Recherche de la position du 1er espace Dim PositionEspace As Integer PositionEspace = SqlFiltre.IndexOf(" ") 'Recherche de la position du point Dim PositionPt As Integer PositionPt = SqlFiltre.IndexOf(".") 'Recherche de la position de FROM Dim PositionVirg As Integer PositionVirg = SqlFiltre.IndexOf(",") 'Extraction du nom de la table NomTable = SqlFiltre.Substring(PositionEspace + 1, PositionPt - PositionEspace - 1) 'Extraction du nom du champ de la table NomChamp = SqlFiltre.Substring((PositionPt + 1), PositionVirg - PositionPt - 1) '' -> AJOUTER ' DataAdapter, DataSet, DataTable, DataView 'Connection Connection.Open() ' Création du DataAdapter, DataSet, DataTable, Création du DataView avec son filtre Dim DtAdapter = New OleDb.OleDbDataAdapter(SqlFiltre, Connection) Dim DtSet As New DataSet DtAdapter.Fill(DtSet, NomTable) Dim DtTable As DataTable DtTable = DtSet.Tables(NomTable) Dim dtView As New DataView(DtTable) dtView.RowFilter = NomChamp & " = '" & ChampCtrl.Text.Replace("'", "''") & "'" ' Vérifier dans la table l'existance de la saisie de l'utilisateur If dtView.Count = 0 Then 'Création de la messagebox Dim Message As String Dim Titre As String Dim Bouton As MessageBoxButtons Dim Icone As MessageBoxIcon Dim Resultat As String Message = ChampCtrl.Text & " n'est pas enregistré." & _ vbCr & "Voulez-vous l'enregistrer ?" Titre = "Sélection incorrecte" Bouton = MessageBoxButtons.YesNo Icone = MessageBoxIcon.Exclamation Resultat = MessageBox.Show(Message, Titre, Bouton, Icone) If Resultat = vbYes Then '' -> ENREGISTREMENT DE LA VALEUR SAISIE Dim NewLigne As DataRow ' Création de la nouvelle ligne NewLigne = DtSet.Tables(NomTable).NewRow ' Remplir les champs NewLigne(NomChamp) = ChampCtrl.Text ' Ajout de la ligne à la table DtSet.Tables(NomTable).Rows.Add(NewLigne) Dim CmdBuild As OleDbCommandBuilder CmdBuild = New OleDb.OleDbCommandBuilder(DtAdapter) DtAdapter.InsertCommand = CmdBuild.GetInsertCommand() DtAdapter.Update(DtSet, NomTable) '' -> ACTUALISER LES DONNEES DE LA LISTE ' Enregistrer la valeur saisie Dim saisie As String saisie = ChampCtrl.Text ' Création du DataAdapter, DataSet Dim DtAdapterActu = New OleDb.OleDbDataAdapter(SqlFiltre, Connection) Dim DtSetActu As New DataSet DtAdapterActu.Fill(DtSetActu, NomTable) ' Remplissage de la liste ChampCtrl.DisplayMember = NomChamp ChampCtrl.ValueMember = "ID_" & NomChamp ChampCtrl.DataSource = DtSetActu.Tables(NomTable) ChampCtrl.Refresh() ChampCtrl.Text = saisie 'CODE POUVANT ETRE SUPPRIME ''''''''''''''''''''' Form1.txtInfos.Text = "Nom de la Table: " & NomTable & vbCrLf & _ "Nom du champ: " & NomChamp & vbCrLf & _ "Nom de la liste: " & ChampCtrl.Name & vbCrLf & _ "Valeur de la liste: " & ChampCtrl.Text & vbCrLf & _ "Index de la sélection: " & ChampCtrl.SelectedIndex & vbCrLf & _ "Valeur de la sélection: " & ChampCtrl.SelectedValue '''''''''''''''''''' Else ChampCtrl.Text = "" 'CODE POUVANT ETRE SUPPRIME ''''''''''''''''''''' Form1.txtInfos.Text = "" '''''''''''''''''''' End If End If End If Catch ex As Exception 'Message d'erreur MessageBox.Show(ex.ToString, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally 'Fermer la connection Connection.Close() End Try End Sub End Module
23 sept. 2006 à 09:17
Je suis débutant sur ACCESS (1an1/2)et je suis interressé par ce programme, j'ai décompressé le zip mais à l'ouverture de la base "voiture" rien ne se passe.
Alors question totalement stupiude.
Que dois-faire de tout les fichiers ?
Dans l'attente d'un sérieux coup de main je vous souhaite la bonne journée.
Merci
KFECREM
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.