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.NET Discussion :

Modification d'une base ACCESS


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de jolona
    Homme Profil pro
    Technicien metodes
    Inscrit en
    Avril 2010
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien metodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 233
    Points : 104
    Points
    104
    Par défaut Modification d'une base ACCESS
    bonjour,

    j'utilise ce code pour créer une table (avec CREATE TABLE donc ça ok:

    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
     
    Imports System.Data
     
    Imports System.Data.OleDb
     
    Module Module1
            Public ObjetConnection As OleDbConnection
     
            Public ObjetCommand As OleDbCommand
     
            Public ObjetDataAdapter As OleDbDataAdapter
     
            Public ObjetDataSet As New DataSet() 'Attention au New
     
            Public strSql As String
     
            Public ObjetDataTable As DataTable
     
            Public ObjetDataRow As DataRow
     
            Public RowNumber As Integer   
     
            Public strConn As String
     
            Public ObjetCommandBuilder As OleDbCommandBuilder
     
    End Module
    pui ça:

    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
     
    Private Sub btnCopier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopier.Click
     
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= C:\test\test.mdb;"
     
            ObjetConnection = New OleDbConnection
            ObjetConnection.ConnectionString = strConn
            ObjetConnection.Open()
            ObjetCommand = New OleDbCommand
            ObjetCommand.Connection = ObjetConnection
            ObjetCommand.CommandType = CommandType.Text
     
            ObjetCommand.CommandText = "CREATE TABLE PARENT (ID INTEGER NOT NULL PRIMARY KEY, NOM, PRENOM )"
     
            ObjetCommand.ExecuteNonQuery()
            ObjetConnection.Close()
     
        End Sub
    J'aimerais modifier les enregistrement, mettre plusieurs nom et prenom, j'utilise la fonction ALTER ou UPDATE mais ma syntaxe n'est pas bonne, pouvez vous m'aider a rajouter des enregistrements

    maintenant s'il y a une autre façon de faire, je suis ouvert

    merci

  2. #2
    Membre régulier Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    bonjour,
    les requetes inserte et update de sql marche bien avec les bases de données access.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cnx = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\test.mdb;")
    cnx.Open()
    sqlstr = "insert into table1 values(" & CInt(TextBox1.Text) & ",'" & TextBox2.Text & "','" & TextBox3.Text & "')"
    'CInt() si ID est entier.
    cmd = New OleDbCommand(sqlstr, cnx)
    cmd.ExecuteNonQuery
    cours sql:
    http://sqlpro.developpez.com/cours/sqlaz/dml/

    si tu peux poster tes requetes juste pour voire pourquoi elles marchent pas ça nous aidera à comprendre.

  3. #3
    Membre régulier Avatar de jolona
    Homme Profil pro
    Technicien metodes
    Inscrit en
    Avril 2010
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien metodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 233
    Points : 104
    Points
    104
    Par défaut
    voila le code ; j'ai suivi, quoi essayer de suivre ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT [INTO] nom_de_la_table_cible [(liste_des_colonnes_visées)] {VALUES (liste_des_valeurs) | requête_select | DEFAULT VALUES }
    et le miens:
    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
     
        Private Sub btnCopier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopier.Click
     
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= c:\test\test.mdb;"
     
            ObjetConnection = New OleDbConnection
     
            ObjetConnection.ConnectionString = strConn
     
     
            ObjetConnection.Open()
     
            ObjetCommand = New OleDbCommand
     
            ObjetCommand.Connection = ObjetConnection
     
            ObjetCommand.CommandType = CommandType.Text
     
            ObjetCommand.CommandText = "insert into appliparext [application] {c:\test}"
     
            ObjetCommand.ExecuteNonQuery()
     
            ObjetConnection.Close()
     
        End Sub
    mais ma syntaxe ne fonctionne pas

    en fait dans la table "appliparext" je voudrais modifier le champ "application" puis l'enregistrement 1, 3, 4, 5, 6 et 7

    les valeurs des enregistrement sont identiques,

    le but de mon projet est:
    ouvrir la base
    faire une boucle de chaque enregistrement pour identifier la valeur ; si la valeur est egal à "c:\" remplacer par "c:\test\text.exe"
    puis valider les modifications
    et fermer

    voilà en gros....
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier Avatar de jolona
    Homme Profil pro
    Technicien metodes
    Inscrit en
    Avril 2010
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien metodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 233
    Points : 104
    Points
    104
    Par défaut
    Donc j'ai trouver la solution à mon problème voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ObjetCommand.CommandText = "UPDATE appliparext SET application= 'c:\test\text.exe' WHERE application='c:\'"
    et ca marche nickel

    merci à tout ceux qui m'ont aider, lol

  5. #5
    Membre régulier Avatar de jolona
    Homme Profil pro
    Technicien metodes
    Inscrit en
    Avril 2010
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien metodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 233
    Points : 104
    Points
    104
    Par défaut
    j'ai autre problème si je met çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ObjetCommand.CommandText = "UPDATE appliparext SET fichier" & Chr(32) & "vierge= 'c:\test\text.exe' WHERE fichier" & Chr(32) & "vierge='c:\'"
    en fait j'ai un espace au niveau du nom d'un champ "fichier vierge" je l'ecrit en VB "fichier" & Chr(32) & "vierge" ...

    voilà le message d'erreur:
    erreur de syntaxe dans l'instruction UPDATE
    quand je fais un pas à pas et que je m'arrete sur ".CommandText" et que je regarde dans le visualiseur il m'affiche çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE appliparext SET fichier vierge= 'c:\test\text.exe' WHERE fichier vierge='c:\'
    dans le visualiseur il me recupere bien le nom avec l'espace mais il me dit quand meme que j'ai une erreur de syntaxe, je comprend pas trop si quelqu'un peux m'aider

  6. #6
    Membre régulier Avatar de jolona
    Homme Profil pro
    Technicien metodes
    Inscrit en
    Avril 2010
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien metodes
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 233
    Points : 104
    Points
    104
    Par défaut
    j'ai trouver un truc ça à l'air de marcher, j'ai remplacer :"fichier" & Chr(32) & "vierge" par [fichier vierge] et ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Modification chemin des liens hypetext liés à une base ACCESS
    Par franckb74 dans le forum Access
    Réponses: 1
    Dernier message: 28/12/2012, 10h28
  2. Suppression et modification de données dans une base Access depuis VB6
    Par sousousoumia dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/09/2012, 00h42
  3. Réponses: 2
    Dernier message: 30/11/2008, 21h10
  4. Réponses: 1
    Dernier message: 27/05/2008, 13h29
  5. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20

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