Newsgroup: it.comp.appl.access
Titolo: Inserimento dati in una tabella tramite Visual Basic (Manipolazione dei dati con VB)

Qualche esempio lo ho già visto in questi giorni, ma non ricordo dove
ed è un'ora e mezza che cerco e non riesco a trovarlo.
Tra l'altro ho un'idea di quello che devo fare ma mi mancano ancora le
basi di VB per realizzarlo.
Per favore proponetemi qualcosa o datemi un link dove poter trovare
ciò che mi interessa.
Allora:
Ho due tabelle nella classica relazione uno a molti (parte, in realtà
di una rel. molti a molti):
   tblFilm             dal lato uno
   tblFilm+Attori  dal lato molti
   tblAttori          (indicata solo per comprensione e in relazione
uno a molti con la precedente)
Ho costruito una maschera che include, tra l'altro, il Titolo del film
(tblFilm.TitoloFIlm) e dovrebbe contenere una casella di testo con un
campo calcolato che mostra gli attori presenti nel cast separati fra
loro da una virgola.
I dati (gli attori, in questo caso) li reperisco da un sito internet e
prima li immettevo con un copia e incolla in una sottomaschera
associata alla tblFilm+Attori, riga per riga, attore per attore.
Ora, grazie ad un suggerimento di Gianluca Cannalire (aprile 2005)
trovato sul NG, ed un po' di studio, son riuscito a scomporli tramite
alcune di funzioni di testo e  mi ritrovo con un ciclo for next che ad
ogni passaggio assegna alla stessa variabile di testo (chiamiamola
"Nome") il nome di un attore differente.
Quello che ho bisogno è che, nello stesso ciclo for next, dopo
l'assegnazione del valore alla variabile, mi venga immesso nella
tblFilm+Attori il suo valore (cioè il nome dell'attore) + l'ID del
Film  e che mi passi a un nuovo record, in attesa del passaggio
successivo del ciclo e del nuovo valore della variabile.
Grazie mille 
leev (A00/WXP)

 ha scritto nel messaggio 
news:1160484229.9...@k70g2000cwa.googlegroups.com...







Grazie mille
leev (A00/WXP)
[risposta]
In quel punto fai una Insert dei valori nella tabella...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:1160484229.9...@k70g2000cwa.googlegroups.com...







Grazie mille
leev (A00/WXP)
Funzione DLookUP... hai guardato nell'Help?
Nik

 Nik
Ci ho dato un'occhiata ma non avrei mai cercato DLookUP. Ora ho lo
spunto. Che ffarà mmai sta funzione? (ghghghghghggh)
Stanotte ci guardo e vediamo che combino...
Grazie Nicolaaaaaaaaaaaaaaa!!!
^_^

 In quel punto fai una Insert dei valori nella tabella...
Ho dato un'occhiata solo ora alla guida in linea cercando sia il
DllokUp che il tuo INsert e presumo che questo faccia proprio al caso
mio, anche se non escludo di aver bizogno anche della Funzione
suggerita da Nicola.
Come ho già risposto a lui, stanotte ci veglio sopra (ghghghgh) e
vediamo di cosa son capace ... ok ok, niente commenti, grazie!
^__^
(PS: grazie Sergio)

 ha scritto nel messaggio 
news:1160495072....@i42g2000cwa.googlegroups.com...
Ho dato un'occhiata solo ora alla guida in linea cercando sia il
DllokUp che il tuo INsert e presumo che questo faccia proprio al caso
mio, anche se non escludo di aver bizogno anche della Funzione
suggerita da Nicola.
Come ho già risposto a lui, stanotte ci veglio sopra (ghghghgh) e
vediamo di cosa son capace ... ok ok, niente commenti, grazie!
^__^
(PS: grazie Sergio)
[risposta]
Per farti dormire sonni più tranquilli preciso che la Insert non è una 
funzione VBA ma una istruzione SQL che ti permette di inserire(accodare) dei 
valori in una tabella. Più semplicemente una query di accodamento...
Ciao.
-- 
Sergio MAZZA 

 valori in una tabella. Più semplicemente una query di accodamento...
Si, effettivamente come comando di Visual Basic mi suonava strano,
aveva un nonsochè di familiare, troppo familiare per appartenere al
neostudiando (?) VB.
Credo comunque che ci sarei arrivato, se non fosse che sono piombato
sul divano come un ghiro....
Se non riesco oggi in negozio gli darò un'occhiata stasera. Vorrà
dire che per non addormentarmi penserò a te in gonnella (ghghghghg).
Grazie ancora!

 valori in una tabella. Più semplicemente una query di accodamento...
Ho cominciato a far qualcosa ma mi sono intoppato subito. Scusa
l'ignoranza, ma se si tratta di una query di accodamento, posso
inserire i dati in una tabella solo prendendoli da un'altra tabella o
non è così?
Io invece ho una variabile con dentro il valore da inserire (IDAttore)
e una casella di testo con l'altro valore (IDFilm).
E mmo che ffaccio?
Io pensavo di dover accedere al DB tramite VB, aprendo una connessione,
ma non so come fare e non so nemmeno se è la strada giusta.
Qualche altra dritta?

 ha scritto nel messaggio 
news:1160572221....@h48g2000cwc.googlegroups.com...
Ho cominciato a far qualcosa ma mi sono intoppato subito. Scusa
l'ignoranza, ma se si tratta di una query di accodamento, posso
inserire i dati in una tabella solo prendendoli da un'altra tabella o
non è così?
[risposta]
No;
Io invece ho una variabile con dentro il valore da inserire (IDAttore)
e una casella di testo con l'altro valore (IDFilm).
E mmo che ffaccio?
[risposta]
E che facci?
Facci così:
DoCmd.RunSQL "Insert into nomeTabella Values ('" & me!nomeCasella & "')"
Io pensavo di dover accedere al DB tramite VB, aprendo una connessione,
ma non so come fare e non so nemmeno se è la strada giusta.
[risposta]
Maddechéstamoaparla'?
In access utilizzi il VBA (visual basic for application); lo utilizzi quando 
necessario, mica sotto prescrizione medica.
Questo sembra essere il momento; ti costruisci l'istruzione SQL Insert in 
una variabile stringa e poi la passi al metodo RunSQL.
Qualche altra dritta?
[risposta]
Kharma e gesso...
Ciao.
-- 
Sergio MAZZA 

 DoCmd.RunSQL "Insert into nomeTabella Values ('" & me!nomeCasella & "')"
Allora, intanto che attendevo la tua risposta ho continuato a navigare
(visto che l'Help, oggi mi richiede un ripristino per qualche
danneggiamento, ma non ho qui i CD fino a domani) ed ho scoperto che
probabilmente potrei utilizzare anche il più moderno
CurrentDb.Execute. Avrei la riprova se solo la stringa che ho inserito
funzionasse!!!
Cosa c'è adesso che non va? (Uffffffffffffffffffff)
Allora premetto che ho controllato con un msgbox subito prima della
riga in questione i valori restituiti dalle due caselle di testo (a
scanso di equivoci) e sono corretti.
La riga che ho ricavato grazie al tuo suggerimento è questa:
    DoCmd.RunSQL "INSERT INTO tblFilm+Nazioni ([IDFilm], [IDNazione])
VALUES ('" & Me.TitoloFilm & "', '" & Me.txtNazione & "');"
Se però il codice va in esecuzione mi restituisce errore di sintassi
nell'istruzione INSERT INTO.
Ma dove sbaglio stavolta?????????????
ah,....che brutta l'ignoranza.

 ah,....che brutta l'ignoranza.
...Nel frattempo con questo intervento o fatto riemergere il mio Topic,
se qualcuno volesse intervenire...
^____^
sempre molto grato.
(sempre leev)
(e sempre A00/WXP)

 ha scritto nel messaggio 
news:1160581585.2...@i3g2000cwc.googlegroups.com...
Allora, intanto che attendevo la tua risposta ho continuato a navigare
(visto che l'Help, oggi mi richiede un ripristino per qualche
danneggiamento, ma non ho qui i CD fino a domani) ed ho scoperto che
probabilmente potrei utilizzare anche il più moderno
CurrentDb.Execute. Avrei la riprova se solo la stringa che ho inserito
funzionasse!!!
Cosa c'è adesso che non va? (Uffffffffffffffffffff)
Allora premetto che ho controllato con un msgbox subito prima della
riga in questione i valori restituiti dalle due caselle di testo (a
scanso di equivoci) e sono corretti.
La riga che ho ricavato grazie al tuo suggerimento è questa:
    DoCmd.RunSQL "INSERT INTO tblFilm+Nazioni ([IDFilm], [IDNazione])
VALUES ('" & Me.TitoloFilm & "', '" & Me.txtNazione & "');"
Se però il codice va in esecuzione mi restituisce errore di sintassi
nell'istruzione INSERT INTO.
Ma dove sbaglio stavolta?????????????
ah,....che brutta l'ignoranza.
[risposta]
Non puoi inserire record/dati su più tabelle.
DoCmd.RunSQL "INSERT INTO tblFilm ([IDFilm], [IDNazione])
VALUES ('" & Me.TitoloFilm & "', '" & Me.txtNazione & "');"
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Azz, no, l'errore è stato un'altro: quella è una tabella sola che ha
il nome con un + in mezzo, quindi
il primo errore è stato tempo fa, metterci quel maledetto segno
sommatorio, ma ormai non sto a cercare tutte le occorrenze per
rinominare la tabella,
il secondo errore è stato omettere le parentesi quadre che però, come
puoi vedere, le ho ben messe subito dopo, dove non è che fossero
proprio necessarie....
Va beh!
Ora questo è risolto ma mi si presenta un'altro problemino. Credo di
aver capito di cosa si tratta, ci studio un po' su e casomai, torno ad
importunarti....ehm....interpellarti, volevo dire.
^__^
leev
PS: grazie l'ho detto?
(che retorico che sono)

 ha scritto nel messaggio 
news:1160655726....@i42g2000cwa.googlegroups.com...
Azz, no, l'errore è stato un'altro: quella è una tabella sola che ha
il nome con un + in mezzo, quindi
il primo errore è stato tempo fa, metterci quel maledetto segno
sommatorio, ma ormai non sto a cercare tutte le occorrenze per
rinominare la tabella,
il secondo errore è stato omettere le parentesi quadre che però, come
puoi vedere, le ho ben messe subito dopo, dove non è che fossero
proprio necessarie....
Va beh!
Ora questo è risolto ma mi si presenta un'altro problemino. Credo di
aver capito di cosa si tratta, ci studio un po' su e casomai, torno ad
importunarti....ehm....interpellarti, volevo dire.
^__^
leev
PS: grazie l'ho detto?
(che retorico che sono)
[risposta]
Ok; se si tratta di altro problema forse è meglio inviare un altro 
messaggio...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Sissisignore signor serg.(ente) Mazza!!!
^_*