Newsgroup: it.comp.appl.access
Titolo: Maschera con pulsante per l'inserimento

Ciao a tutti.
Ringrazio chi mi ha risposto al messaggio di ieri e ne approfitto per porvi
un'altra domanda.
Ho creato una maschera con vari campi. La maschera non è collegata a nessuna
tabella (mi serve così) e c'è invece un pulsante che, quando viene premuto,
dovrebbe trasferire in una tabella i campi che mi servono della maschera.
Cercando nei vecchi post su google ho trovato questo codice vba da associare
al pulsante:
Private Sub Label16_Click()
Dim rec As Recordset
Dim strsql As String
strsql = "select * from [Biglietto cassa]"
** Set rec = CurrentDb.openrecordset(strsql)
rec.AddNew                             '(per inserire un nuovo record ,
    rec![Data] = Me.[Data]
    rec![Film] = Me.[Film]
    rec![Spettacolo] = Me.[Spettacolo]
    rec![Colonna] = Me.[Colonna]
    rec![Fila] = Me.[Colonna]
    rec![Carta di credito] = Me.[Carta di credito]
rec.Update
rec.Close
End Sub
Ho già messo i nomi delle mie tabelle, campi, etc...
Il problema è che quando premo il pulsante mi dà questo errore in debug:
"Type mismatch"
evidenziando la riga con i due ** all'inizio.
Non capisco dove stia sbagliando.
Vi ringrazio per l'eventuale aiuto :)
gianpi
---
Recoba: "Era Puyol a cercare il mio piede con la faccia"
---

 ha scritto nel messaggio
news:2jL4a.201763$0v.56...@news1.tin.it...
Prova cosě
 Private Sub Label16_Click()
 Dim rec As Recordset
 Dim strsql As String
 strsql = "select * from [Biglietto cassa]"
Set rec = CurrentDb.openrecordset(strsql)
rec.AddNew
    rec![Data] = Me.[Data]
    rec![Film] = Me.[Film]     rec![Spettacolo] = Me.[Spettacolo]
     rec![Colonna] = Me.[Colonna]
     rec![Fila] = Me.[Colonna]
     rec![Carta di credito] = Me.[Carta di credito]
 rec.Update
 rec.Close
 End Sub
Ciao
Giuseppe

 Giuseppe
Ciao, innanzitutto grazie per l'aiuto.
Solo che...non riesco a vedere cos'hai cambiato rispetto al codice che ho
scritto io (a parte togliere il commento).
ciao
gianpi

 scritto io (a parte togliere il commento).
Ho levato i due asterischi.
Ma hai capito come funziona?
Giuseppe

 Giuseppe
Certo che ho capito, ma i due asterischi li avevo messi io per indicare su
quale riga il debugger mi dava errore :)
Cmq resta il fatto che continua a non funzionare ;__;
gianpi

 ha scritto nel messaggio
news:2jL4a.201763$0v.56...@news1.tin.it...

La routine di cui sopra usa la libreria Microsoft DAO che vine inserita di
default nei riferimenti del tuo database solo se usi Access 97; ma
dall'errore che ricevi sembra che tu invece usi o Access 2000 o Access XP.
Se così è devi fare due cose:
1) sostituisci la seguente riga di codice VBA:
Dim rec As Recordset
con la seguente riga di codice VBA:
Dim rec As DAO.Recordset
2) Inserisci nel tuo database i riferimenti alla libreria Microsoft DAO
Infine, prima di rec.Close, ti suggerisco di inserire la seguente riga di
codice VBA:
Set rec = Nothing
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 gianpi
Scusa non avevo letto bene :(
Cmq riguardando bene ho visto che non è dichiarate la variabile db as
Database.
Prova a metterci questa che trovi sotto.
Private Sub Label16_Click()
Dim db as Database
Dim rec As Recordset
Dim strsql As String
strsql = "select * from [Biglietto cassa]"
set db =CurrentDb
Set rec = Db.openrecordset(strsql)
    rec.AddNew
        rec![Data] = Me.[Data]
        rec![Film] = Me.[Film]
        rec![Spettacolo] = Me.[Spettacolo]
        rec![Colonna] = Me.[Colonna]
        rec![Fila] = Me.[Colonna]
        rec![Carta di credito] = Me.[Carta di credito]
    rec.Update
'rec.Close
End Sub
Fammi sapere.
Ciao
Giuseppe