Query di accodamento in VBA da Una Tabella ed Una Query

di il
3 risposte

Query di accodamento in VBA da Una Tabella ed Una Query

Salve a tutti sto provando a fare una query di accodmento in VBA prendendo i dati da una Tabella "Listino" ed una Query "QueryCedolinoGiorni" e salvarli nella Tabella "PresenzeElaborate" il codice che ho fatto è questo:

CurrentDb.Execute "INSERT INTO PresenzeElaborate " _
& "SELECT Listino.Id, Listino.Anno, Listino.Mese, Listino.Perizia, Listino.[numero listino], Listino.[zona CAU], Listino.Matricola, Listino.[ore lavorate], Listino.[ore non lavorate], Listino.[ore retribuite], Listino.[giorni lavorati], Listino.[giorni contributivi], Listino.[KM ricorrenti], Listino.[KM inseriti a mano],Listino.Comune , Listino.Cantiere, Listino.direttore, Listino.[perito forestale], Listino.[Cambio Qualifica], Listino.[ore straordinario], Listino.[ore straordinario festivo], Listino.[ore lavorative festive], " _
& "QueryCedolinoGiorni.[ore Lavorate Progr], QueryCedolinoGiorni.[Ore Retribuite Prog], QueryCedolinoGiorni.[giorni lavorati Progr], QueryCedolinoGiorni.[giorni contributivi Progr]" _
& "FROM Listino INNER JOIN Listino ON QueryCedolinoGiorni.Id = Listino.Id)"
 
ma quando la lancio con un pulsante mi da "ERRORE di SINTASSI JOIN" mi sapete dire dove sbaglio?

Grazie come sempre

3 Risposte

  • Re: Query di accodamento in VBA da Una Tabella ed Una Query

    Per come conosco io la sintassi concatenata--->a capo, io scrivo preferibilmente
    & _
    Poi credo tu abbia dimenticato uno SPAZIO o prima delle ultime virgolette PENULTIMO RIGO oppure dopo inizio virgolette ULTIMO RIGO.
  • Re: Query di accodamento in VBA da Una Tabella ed Una Query

    Scusate ho fatto un errore
    & "FROM QueryCedolinoGiorni INNER JOIN Listino ON QueryCedolinoGiorni.Id = Listino.Id"
    forse cosi dovrebbe funzionare c'era un parentesi tonda inutile alla fine
  • Re: Query di accodamento in VBA da Una Tabella ed Una Query

    A prescindere dalla Sintassi SQL, il VBEditor ha un limite di lunghezza della stringa, non ricordo esattemente il numero di righe/caratteri consecutivi senza interruzione riga(ed il carattere [_] non interrompe nulla, serve il vbCrLf o vbNewLine...
    Per questo di solito non si scrive una cosa di quel tipo ma si opera in modo diverso...
    
    Dim strSQL As String
    strSQL="INSERT INTO PresenzeElaborate "
    strSQL=strSQL & "SELECT Listino.Id, Listino.Anno, Listino.Mese, Listino.Perizia, Listino.[numero listino], "
    strSQL=strSQL & "Listino.[zona CAU], Listino.Matricola, Listino.[ore lavorate], Listino.[ore non lavorate], "
    strSQL=strSQL & "Listino.[ore retribuite], Listino.[giorni lavorati], Listino.[giorni contributivi], "
    strSQL=strSQL & "Listino.[KM ricorrenti], Listino.[KM inseriti a mano],Listino.Comune , Listino.Cantiere, "
    strSQL=strSQL & "Listino.direttore, Listino.[perito forestale], Listino.[Cambio Qualifica], Listino.[ore straordinario], "
    strSQL=strSQL & "Listino.[ore straordinario festivo], Listino.[ore lavorative festive], "
    strSQL=strSQL & "QueryCedolinoGiorni.[ore Lavorate Progr], QueryCedolinoGiorni.[Ore Retribuite Prog], "
    strSQL=strSQL & "QueryCedolinoGiorni.[giorni lavorati Progr], QueryCedolinoGiorni.[giorni contributivi Progr] "
    strSQL=strSQL & "FROM QueryCedolinoGiorni INNER JOIN Listino ON QueryCedolinoGiorni.Id = Listino.Id"
    CurrentDb.Execute strSQL,dbFailOnError
    Attenzione anche all'uso di [CurrentDb]...
Devi accedere o registrarti per scrivere nel forum
3 risposte