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 :

créer une table temporaire dans access


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut créer une table temporaire dans access
    bonjour.
    je voudrais le code qui me permette de supprimer une table "z_balance_stock" en access si elle existe.
    de plus, je voudrais recréer la table

    voilà mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE [z_balancestock] ([codearticle] texte(10),[precedent] double,[entre] double,[retourfourn] as double,[sorti] double,[retourclient] double,[Ajuste] double,[Actuel] double)
    à l'exécution, j'ai l'erreur suivante
    Erreur de syntaxe dans la définition de champ.
    je voudrais savoir ce qui n'a pas marché

  2. #2
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Salut,
    Code pour créer une table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Dim Cmd As OleDbCommand
        Dim SQL As String
        Dim objCmd As New OleDbCommand
     
        Dim Con = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;data source=" & Database & "")
     
        SQL = "CREATE TABLE tbCatalogue ([codearticle] texte(10),[precedent] double,[entre] double,[retourfourn] double,[sorti] double,[retourclient] double,[Ajuste] double,[Actuel] double)"
        Cmd = New OleDbCommand(SQL, Con)
     
        Con.Open()
        objCmd = New OleDbCommand(SQL, Con)
        objCmd.ExecuteNonQuery()
        Con.Close()
    Regarde ton code :
    Il n'y a pas de "as" içi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [retourfourn] as double

  3. #3
    Membre à l'essai
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Décembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 5
    Par défaut
    Bonjour

    Ton create table va supprimer la table existante .
    Supprimer les messages d'avertissement(docmd.setwarnig false en vba) avant et pas besoin de faire un drop table .
    Sinon si tu préfère utilise la commande Drop table "Nom_De_Ta_Table"

    Voila

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut
    merci beaucoup pour le premier @moiced50

    utilise la commande Drop table "Nom_De_Ta_Table"
    et si je veux vérifier que la table "Nom_De_Ta_Table" existe déjà (avant de la supprimer) pour être sur que je ne vais pas générer une erreur,
    comment je fais?

  5. #5
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Peut etre ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      SchemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
     
                Dim int As Integer
                For int = 0 To SchemaTable.Rows.Count - 1
                    If SchemaTable.Rows(int)!TABLE_TYPE.ToString = "TABLE" Then
                        'Add items to list box
                        	If SchemaTable.Rows(int)!TABLE_NAME.ToString() = "z_balance_stock" then
    			effacer table
    			exit for
    		end if
                    End If
                Next

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Par défaut
    merci beaucoup.
    mon code marche à merveille

    pour le bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SchemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
    il faut s'assurer que la connexion est ouverte. quit à la refermer après

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oledbConn.Open()
    dim SchemaTable = OledbConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
    oledbConn.Close()

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/01/2008, 08h28
  2. Impossible de créer une table temporaire dans une fonction
    Par bossun dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/10/2007, 10h03
  3. [ACCESS] créer une table temporaire
    Par geay dans le forum Access
    Réponses: 4
    Dernier message: 09/10/2006, 09h45
  4. Réponses: 2
    Dernier message: 09/02/2006, 14h03

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