Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Access -Inserire un nuovo record tramite macro-
giovedì 13 ottobre 2005 - 11.04
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
xallets
Profilo
| Newbie
3
messaggi | Data Invio:
gio 13 ott 2005 - 11:04
Salve,
premetto che non sono molto esperto di Access, e che purtroppo ho trovato un'intoppo abbastanza noioso da aggirare.
Vi faccio l'esempio pratico che forse può chiarire meglio di una spiegazione data senza i corretti termini.
Io ho due tabelle Ordini e Fornitori, ovviamente la seconda ha una join (non so se è il termine giusto) nella prima tabella.
Ora se io apro Ordini e scelgo un Fornitore che non è in elenco, devo prima andarlo a inserire e poi ad aggiornare il campo per vederlo inserito. Pensavo di automatizzare questa operazione con una macro, ma dopo svariati tentativi non ci sono riuscito. Ora vi chiedo se è possibile tramite macro o devo utilizzare obbligatoriamente il Visual Basic?
Ringrazio chiunque mi possa aiutare e scusate per il linguaggio prettamente non tecnico.
Alessandro
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 13 ott 2005 - 11:33
Credo tu lo possa risolvere con vba eseguendo:
CurrentProject.Connection.Execute "INSERT INTO mytabe (campo, campo, campo, campo) VALUES (valore, valore, valore, valore)"
I campi sono naturalmente i campi che vuoi popolare
i valori sono i corrispondenti valori da scrivere
Il "tipo di dato" dei valori deve corrispondere con il "tipo di dato" dei campi, ad esempio se si tratta di testo devi mettere un apice singolo (') prima e dopo ciascun valore.
xallets
Profilo
| Newbie
3
messaggi | Data Invio:
gio 13 ott 2005 - 15:05
Ciao, ti ringrazio per la risposta, ma non c'è una soluzione alternativa al vba?
Alessandro
franco_44
Profilo
| Newbie
37
messaggi | Data Invio:
gio 3 nov 2005 - 15:35
ti invio questo codice a me funziona
Vuoi aggiungere un nuovo record ad una casella combinata (combo box).
In NomeTabella mettere la Tabella che si vuole aggiornare; in NomeCampo il Campo dei dati da aggiornare
Soluzione
L'utente scrive nella casella un valore non presente nell'elenco. Lo vuoi aggiungere all'origine dati in automatico, senza chiedere conferme. Quindi devi:
- ordinare la casella dopo che il campo ha avuto l'inserimento
- impostare la proprieta Solo in elenco a Sì
- utilizzare il seguente codice nell'evento Su non in elenco della combo
'************** INIZIO CODICE **************
Response = acDataErrAdded
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("NomeTabella", dbOpenDynaset)
rs.AddNew
rs!NomeCampo = NewData
rs.Update
rs.Close : Set rs = Nothing
Set db = Nothing
franco
xallets
Profilo
| Newbie
3
messaggi | Data Invio:
ven 4 nov 2005 - 12:48
Grazie, proverò a usare il VB ma avrei preferito farlo senza, anche se tutt'ora non ho ancora trovato la soluzione.
Voglio provare con il codice.
Alessandro
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !