Newsgroup: it.comp.appl.access
Titolo: Maschera inserimento

Salve, non uso quasi mai le maschere di access quindi in questo sono
neofita. Ho creato un semplice db con 3 tabelle, una Film con "titolo"
"numero puntate" "id_tipo" "id_genere", le altre 2 tabelle sono
l'elenco dei tipi (cartoni, film, tleefilm...) e il genere (comico,
drammatico...etc)....tutte e 3 con un id contatore...ho creato una
maschera e sono riuscito a collegare 2 combo box a "Generi" e "Tipi"
che fa comparire i 2 elenchi. Fin qui ci sono riuscito. Ora ho bisogno
di creare un pulsante che mi inserisca in "Film" il titolo,
l'eventuale durata e i 2 id pescati dalle combo. Ovviamente ho creati
anche dei vincoli referenziali (1 a molti). Come faccio a creare
questo pulsante?...il pulsante che crea con al procedura guidata
inserisce solamente in titolo :(
Grazie mille a tutti
Lorenzo

 ha scritto nel messaggio 
news:06271de5-b0ea-45b1...@l16g2000yqo.googlegroups.com...

Pulsante?
Ma....se alla maschera principale gli dai come origine dei dati la tabella 
film, il campo descrizione, durata,ecc ce l'hai già...eviti di farti una 
query di accodamento.
Nel caso invece che tu voglia tener slegata la maschera ti crei una query di 
accodamento che ti pesca i valori dalla maschera
[Forms]![tuamaschera]![descrizione]
[Forms]![tuamaschera]![tuacombo1]
ecc
INSERT INTO Risorse ( DESCRIZIONE, GENERE )
SELECT [Forms]![tuamaschera]![descrizione] AS Espr1, 
[Forms]![tuamaschera]![tuacombo1] AS Espr2;
Ciao
-- 
Roberto da Parma

 ha scritto nel messaggionews:06271de5-b0ea-45b1...@l16g2000yqo.googlegroups.com...

Ciao, grazie mille...stavo provando a fare uno script sull'evento
_click ma non funziona...cioè non parte proprio...ma quelle query dove
vanno inserite?

 ha scritto nel messaggio 
news:11e9ec2f-a2f7-48b7...@h16g2000yqj.googlegroups.com...


Sull'evento click del pulsante devi usare il metodo
currentdb.execute "INSERT INTO ....."
La query controllala e adattala ai nomi che hai tu.


 ha scritto nel messaggionews:11e9ec2f-a2f7-48b7...@h16g2000yqj.googlegroups.com...

Ciao...ho provato come dicevi tu...ma non esegue nulla quando premo il
pulsante...non esegue nulla...non da' neppure errore...ho anche messo
il bloco per il 
debug.ma
 nulla...ti copio il codice...
Dim Titolo As String
Dim Genere As String
Dim Tipo As String
Dim Query As String
Dim Numero_Puntate As Integer
Dim Numero_Genere As Integer
Dim Numero_Tipo As Integer
Titolo = Testo0.Text
Genere = CasellaCombinata2.Text
Tipo = CasellaCombinata4.Text
Numero_Genere = CurrentDb.OpenRecordset("select id from Genere where
Genere ='" + Genere + "'")
Numero_Tipo = CurrentDb.OpenRecordset("select id from Tipo where Tipo
='" + Tipo + "'")
Query = "'" + Titolo + "'," + Numero_Puntate + "," + Numero_Tipo + ","
+ Numero_Genere + ""
CurrentDb.Execute Query

 ha scritto nel messaggio 
news:41d1d615-50de-48f1...@e18g2000yqo.googlegroups.com...






CurrentDb.Execute Query
Perchè quello che hai scritto non vuol dire nulla!
Questa che hai scritto
Query = "'" + Titolo + "'," + Numero_Puntate + "," + Numero_Tipo + ","
+ Numero_Genere + ""
mica è un'istruzione!
E le dichiarazioni sono sbagliate....se usi .OpenRecordSet sarà
Dim Numero_Genere as Recordset
Set Numero_Genere = ....
non credi?
E io ti ho scritto una cosa diversa "INSERT INTO...." è l'sql di una query 
di accodamento, quello che hai scritto tu non fa niente.
E il + in un'istruzione SQL è una formula (anche se usato in taluni casi) ! 
Usa &
Quello che devi eseguire non è altro che un'istruzione del tipo
CurrentDb.Execute "INSERT INTO TUATABELLA ...."
Scusa faresti prima ad andare nella sezione query fare una nuova query di 
accodamento
Poi nelle varie colonne inserisci
[Forms]![tuaform]![Testo0]   [Forms]![tuaform]![CasellaCombinata2] 
[Forms]![tuaform]![CasellaCombinata4]
scegli la tua tabella di accodamento e vedrai che sotto nel campo accoda A 
troverai i campi della tabella a cui vuoi accodare i dati.
Poi ti guardi l'SQL lo copi e lo incolli
E questo è l'unico comando che devi far eseguire nel pulsante
currentdb.execute "[testo copiato]"


Ciao...sono riuscito a fare quello che mi hai detto perà mi da' errore
"Errore 3061"
Ti copio la query che genera....c'è anche una cosa (che non c'entra
per ora con l'errore, dalle prove che ho fatto)..è che nelle combo ci
sono i "nomi" dei generi...mentre io devo memorizzare, nella tabella
film,. l'id relativo a quel nome...questa query lo farebbe?
INSERT INTO Film ( Titolo, Id_Genere, Id_Tipo )
SELECT Film.[Forms]![Maschera2]![Testo9] AS Espr1, Film.[Forms]!
[Maschera2]![CasellaCombinata11] AS Espr2, Film.[Forms]![Maschera2]!
[CasellaCombinata15] AS Espr3
FROM Tipo INNER JOIN (Genere INNER JOIN Film ON Genere.ID =
Film.Id_Genere) ON Tipo.ID = Film.Id_Tipo;

 ha scritto nel messaggio 
news:ce0ae550-570c-41ca...@v39g2000yqm.googlegroups.com...



Non puoi scrivere un sql così... i dati che richiami da maschere devono 
rimanere fuori dalle ""
"INSERT INTO Film ( Titolo, Id_Genere, Id_Tipo )
SELECT " & [Forms]![Maschera2]![Testo9] & " AS Espr1,  " & [Forms]!
[Maschera2]![CasellaCombinata11] & " AS Espr2, " & [Forms]![Maschera2]!
[CasellaCombinata15] & " AS Espr3
FROM Tipo INNER JOIN (Genere INNER JOIN Film ON Genere.ID =
Film.Id_Genere) ON Tipo.ID = Film.Id_Tipo;"
Ciao
-- 
Roberto da Parma