Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577

    [VBA/ACCESS] Creazione di una tabella

    Allora premetto che sono anni che nn programmo in vb


    Quello che faccio io è aprire Access 2003 , aprire il mio db , creare un nuovo modulo
    e scrivere una funzione in vba del tipo

    codice:
    Option Compare Database
    Option Explicit
    
    Public Function NomeFunzione()
    
    
    End Function
    Ok lo so .. la funzione è vuota ... pero mi dovete togliere dei dubbi ...
    1) nn devo effettuare nessuna connessione al db?
    2) un esempio di query per creare una tabella in questo vba?

    Spero che qualcuno mi aiuti con questi due piccoli quesiti in modo da poter andare avanti cercando disperatamente di andare avanti



  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Allora sto provando con il seguente codice

    codice:
    Public Function NomeFunzione()
     Dim SQL As String
     
     stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
        stringa = stringa & "DATABASE STAGISTI E TIROCINANTI.mdb"
        
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
        cn.Open stringa
    
        
        SQL = "CREATE TABLE Crea1 (Prova VARCHAR(10));"
    Quando provo ad eseguire il codice mi dice che è impossibile trovare il file "....\DATABASE STAGISTI E TIROCINANTI.mdb" e l'esecuzione rimane bloccata sull'istruzione " cn.Open stringa ", in realta la path che mi appare è quelle in cui effettivamente esiste il file DATABASE STAGISTI E TIROCINANTI.mdb

    Da cosa può dipendere??

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da GabbOne
    Da cosa può dipendere??
    Scusa, ma non capisco...
    Se hai già aperto il database in ambiente MSAccess, che te ne fai di quel codice (peraltro sbagliato?
    Non fai prima a creare la tabella 'a mano' con gli ottimi strumenti che MSAccess mette a disposizione?

    Altrimenti spiega perchè vuoi creare una tabella via codice, che in ogni caso si fa con una query di comando.

  4. #4
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    allora il punto è che devo fare delle operazioni complesse su delle tabelle che gia ho all'interno del database ...

    il codice che ho postato è solamente una prova per vedere se riuscivo ad effettuare delle operazioni sul db mediante un modulo vb , per poi scrivere il codice che risolve il mio vero problema .

    Oltretutto ho gia provato a risolvere il mio problema mediante una singola e nn vi sono riuscito ... per questo motivo ho bisogno dell'ausilio di un ling. di prog per risolvere il problema .

    A me basterbbe anche vedere come si fa ad effettuare una semplice select da questo ambiente che sto iniziando a guardare in modo abbastanza inquietante .

  5. #5
    Ma per creare una tabella con dei campi fissi tipo:

    Db = Database

    E dentro io voglio che venga alla pressione di un pulsante
    si crei la tabella Gennaio con i campi " Giorno (testo) - Note (testo) " per esempio...

    come potrei fare?

    Public Function NomeFunzione()
    Dim SQL As String

    stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    stringa = stringa & "mesi.mdb"

    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    cn.Open stringa


    SQL = "CREATE TABLE Gennaio (Giorno VARCHAR(10));"
    end function

    cosi?

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da GabbOne
    il codice che ho postato è solamente una prova per vedere se riuscivo ad effettuare delle operazioni sul db mediante un modulo vb , per poi scrivere il codice che risolve il mio vero problema .
    Senti, già su un forum è spesso difficile capirsi quando uno spiega cosa vuole fare.
    Se tu scrivi per enigmi allora diventa impossibile.

    Devi indicare chiaramente e dettagliatamente quello che vuoi fare.
    Solo dopo se ne può riparlare.

    Un consiglio: prima che inquietarti, leggi la guida a VBA di Access, altrimenti l'inquietudine diventerà sconforto e prostrazione.

  7. #7
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Originariamente inviato da gibra
    Scusa, ma non capisco...
    Se hai già aperto il database in ambiente MSAccess, che te ne fai di quel codice (peraltro sbagliato?
    Non fai prima a creare la tabella 'a mano' con gli ottimi strumenti che MSAccess mette a disposizione?

    Altrimenti spiega perchè vuoi creare una tabella via codice, che in ogni caso si fa con una query di comando.

    OK .... cerco di spiegarmi meglio affrontando un punto per volta

    Originariamente inviato da GabbOne
    Quello che faccio io è aprire Access 2003 , aprire il mio db , creare un nuovo modulo
    e scrivere una funzione in vba del tipo ...
    Anche io penso che dopo qusta operazione nn si debba scrivere nel modulo vb alcuna operazione di connessione al db che mi interessa .... però questo vuol dire anche che ci devono essere delle variabili già definite all'interno del modulo vb affinche io possa effettuare operazioni sul database.

    La domanda è : come faccio ad eseguire una query "qualsiasi" sul db ?

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non ci sono varaibili all'interno di un modulo, se non le metti tu.

    Premetto che non sono un esperto di questo ambiente, tutt'altro, ma vedo se posso esserti d'aiuto.

    So che esistono dei comandi (funzioni, metodi, oggetti, ecc.) globali all'ambiente MSAccess (es. DoCmd...)
    So anche che c'è una connessione con proprietà, metodi, ecc. ecc.

    Ad esempio so che esiste un oggetto che mi pare si chiami CurrentConnection (o ActiveConnection...?) che ha un metodo Execute o qualcosa del genere.
    Con il metodo Execute puoi eseguire la tua query, tipo:

    ActiveConnection.Execute SQL

    Nell'attesa che qualcun'altro più ferrato di me in Access ti venga in aiuto, ti consiglio di consultare la guida di Access, non dovrebbe essere difficile capire come fare.
    Come si dice: aiutati che Dio ti aiuta!

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.