Forms![F0-3]![Destinazione] nelle mie intenzioni sarebbe la stringa che
specifica il percorso del database p.e. f:\Praxis\Praxis
Come posso fare?
Grazie in anticipo,
Davide
Il solo percorso non basta. Da dove viene il nome (e l'estensione) del
database? Prima hai scritto che anche questo si trova nella casella.
In ogni caso per usare una variabile devi eseguire la stringa con VBA.
Se capisco bene l'intenzione del tuo enunciato SQL la sintassi in
principio (cioè nome+estensione incluso nel controllo) sarebbe:
Currentdb.Execute _
"INSERT INTO [" & Forms![F0-3]!Destinazione & "].Paziente" & _
" SELECT * FROM Paziente" & _
" WHERE PazienteID=" & Forms![F0-3]!PazienteID
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Private Sub istruzioni_Click()
CurrentDb.Execute _
"INSERT INTO [" & Forms![F0-3]!Destinazione & "].Paziente" & _
" SELECT * FROM Paziente" & _
" WHERE PazienteID=" & Forms![F0-3]!PazienteID
End Sub
Cosi' scritta mi appare un messaggio di errore:
errore di run-time 3464
tipi di dati non corrispondenti nell'espressione criterio
Siccome il comando SQL che funziona bene e' questo...
INSERT INTO Paziente IN 'g:\Praxis\Copia di Praxis.mdb'
SELECT Paziente.PazienteID AS PazienteID, *
FROM Paziente
WHERE (((Paziente.PazienteID)=[Forms]![F0-3]![PazienteID]));
... ho modificato la sintassi della routine evento in questo modo...
Private Sub istruzioni_Click()
CurrentDb.Execute _
"INSERT INTO Paziente IN " & Forms![F0-3]!Destinazione & " & _
" SELECT Paziente.PazienteID AS PazienteID, *
" FROM Paziente" & _
" WHERE PazienteID=" & Forms![F0-3]!PazienteID
End Sub
... e adesso il messaggio di errore che compare e':
errore di compilazione, errore di sintassi.
Siccome finora sono riuscito a ottenere buoni risultati con le macro, non ho
avuto la necessita' di imparare il VBA.
Puoi darmi un suggerimento su come superare quest'ostacolo?
Grazia ancora per la disponibilita',
Davide
Quale tipo di dato ha il campo PazienteID nella tabella?
Se si tratta di un testo, prova con:
CurrentDb.Execute _
"INSERT INTO [" & Forms![F0-3]!Destinazione & "].Paziente" & _
" SELECT * FROM Paziente" & _
" WHERE PazienteID='" & Forms![F0-3]!PazienteID & "'"
> ...
> Private Sub istruzioni_Click()
> CurrentDb.Execute _
> "INSERT INTO Paziente IN " & Forms![F0-3]!Destinazione & " & _
> " SELECT Paziente.PazienteID AS PazienteID, *
> " FROM Paziente" & _
> " WHERE PazienteID=" & Forms![F0-3]!PazienteID
>
> End Sub
>
> ... e adesso il messaggio di errore che compare e':
> errore di compilazione, errore di sintassi.
> ...
Mancano gli apostrofi prima e dopo il percorso. Prova così:
CurrentDb.Execute _
"INSERT INTO Paziente IN '" & Forms![F0-3]!Destinazione & _
"' SELECT * FROM Paziente" & _
" WHERE PazienteID=" & Forms![F0-3]!PazienteID
--
Cosi' funziona perfettamente!!! :-)
Grazie di cuore, Karl, senza di te non so come avrei potuto risolvere questo
scoglio!
Certo che e' un bello stimolo a imparare il VBA, cosa farei senza questo
fantastico newsgroup?!?!
Un saluto e grazie ancora,
Davide