IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Connexion entre VB6 et Access 2007


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut Connexion entre VB6 et Access 2007
    Bonjour,

    Voilà j'ai crée une base de donnée en access 2007 je lui est nomme exemple comme de la base, ensuite j'ai crée une table qui se nomme aussi exemple. Cette table contient deux attributs qui sont: num et nom. J'ai fais les procédures qui se trouvent en bas.

    J'ai active aussi Microsoft DAO 2.5/3.51 compatibility library

    NB: lorsque je compile il ne déclare pas erreur mais si je sais un enregistrement et clique sur le bouton ajouter les donnes saisies ne vont pas dans la base que faire?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Public Sub Connect()
    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.jet.oledb.4.0"
    cn.Properties("Data Source") = App.Path & "C:\kante\exemple.mdb"
    cn.Open
     
    End Sub
     
    Public Sub Close_Base()
    cn.Close
    Set cn = Nothing
    End Sub
     
    Private Sub Command1_Click()
    ' Déclaration des variables
    Dim strTable, strSQL As String
    Dim blnValide As Boolean
    Dim intCode As Integer
    Dim strnum, strnom As String
    ' Initialisation des variables ( + contrôle de saisie )
    blnValide = True
    ' Note : le nom est une valeur obligatoire
    If Trim(txtnum.Text) <> "" Then strnum = Trim(txtnum.Text) Else blnValide = False
    If Trim(txtnom.Text) <> "" Then strnom = Trim(txtnom.Text)
    '----------------------------------------------------------------------
    ' Si les valeurs sont correctement renseignées, on les ajoute à la table
    If blnValide = True Then
    strTable = "exemple"
    ' Correction des chaines avec apostrophes éventuels
    ' Note : les apostrophes, dans les requêtes SQL, peuvent provoquer des erreurs
    strnum = Replace(strnum, "'", "''")
    strnom = Replace(strnom, "'", "''")
    '======================================================================
    ' AJOUTE LES DONNEES DANS LA TABLE
    '----------------------------------------------------------------------
    ' Requête SQL d'insertion ( modulable selon les valeurs saisies ou pas )
    strSQL = "INSERT INTO " & strTable & " ("
    strSQL = strSQL & "num, nom"
    If strnum <> "" Then strSQL = strSQL & ",num"
    If strnom <> "" Then strSQL = strSQL & ",nom"
    strSQL = strSQL & ") VALUES ("
    strSQL = strSQL & strnum & "'"
    If strnom <> "" Then strSQL = strSQL & ",'" & strnom & "'"
     
    strSQL = strSQL & ")"
     
    Else
    MsgBox ("Données de saisies obligatoires manquantes..."), vbExclamation
    End If
    End Sub
    Merci

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    J'ai peur que ton code ne soit une portion partiellement copiée/collée d'un autre code. Tu crées une requête SQL pour ajouter un enregistrement, très bien, mais ensuite ? Tu ne l'utilises pas. Tu pourrais utiliser la méthode AddNew d'ailleurs plutot que de faire une requete.
    Je ne vois pas de recordset de créé, etc... Bref, je te conseille vivement de lire un tutoriel complet avant toute chose, tu en trouveras un ici :
    http://warin.developpez.com/access/dao/

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 95
    Par défaut
    Bonjour,

    comme dit OhMonBato, tu crées ta requête mais tu ne l'execute pas....

    Rajoute ce bout de code entre strSQL = strSQL & ")"
    et le Else

    Ce code permet de lancer l'instruction comprise dans ta variable texte strSQL sur ta connexion ouverte cn

    Et là ça devrai fonctionner un peu mieux...

    @+.

    Coin.

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Public Sub Connect()
    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.jet.oledb.4.0"
    cn.Properties("Data Source") = App.Path & "C:\kante\exemple.mdb"
    cn.Open
    End Sub
    App.Path renvoi le lecteur et dossier en cour, au minimum le lecteur, tu lui ajoute "C:\ .......", donc le resultat du chemin (au minimum) de la BD devient: "C:\C:\kante\exemple.mdb".
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    De plus, pour utiliser une base ACCESS 2007, il faut utiliser DAO 3.6

  6. #6
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Arf, ton code n'utilise même pas DAO mais ADO, l'ajout de la référence à " Microsoft DAO 2.5/3.51 compatibility library" est totalement inutile.

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Par défaut
    Bonjour,

    J'ai un problème avec access 2007 et vb6. Je n'arrive pas as ouvrière un programme faite en access 2007 avec vb6. Voici le code que j'ai fait pour ce connecte a access. Il affiche une massage d'erreur dont voici:


    Erreur d'exécution - 2147467259 (80004005) Format de base de données ('chemin de la base') non reconnu
    NB: J'ai active aussi Microsoft DAO 3.6 oblject libraru et Microsoft Activex Data Objects 6.0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Load()
    Dim cnx As New ADODB.Connection
    cnx.Provider = "Microsoft.Jet.Oledb.3.51"
    cnx.ConnectionString = "C:\Users\Public\kante\test.accdb"
    cnx.Open
    End Sub
    Merci.

Discussions similaires

  1. connexion entre deux bases Access
    Par sebac dans le forum Access
    Réponses: 3
    Dernier message: 07/05/2008, 23h27
  2. Connection VB6 et Access 2007 ?
    Par Kenshin86 dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/03/2008, 14h24
  3. VB6 est ACCESS 2007
    Par NAIMA2 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/11/2007, 05h28
  4. connexion entre VB6 ET Statistica
    Par keskes dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/10/2006, 20h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo