Buona sera a tutti,
mi rivolgo qui e passo dal gruppo it.compl.app.access
vedo che anche qui Alex e' super attivo,
voglio postare qui perche' il codice e' piu' leggibile
problemino:
ho un report da cui estrapolo le rette di un asilo del mese di riferimento, vorrei poter esportare in pdf con un pulsante tutte le rette in una cartella
con il codice che posto qui di seguito come risultato ottengo i pdf di tutti i record presenti nella tabella
sono veramente alle prime armi con vba
la select che faccio sembra andar bene mi seleziona tutti i dati che mi servono dove come condizione prendo solo il campo numerico MESANN (mese e anno di riferimento: 92018 per settembre 2018 102018 per ottobre 2018)
vado ad aprire il report ed il risultato e' ok stampa un pdf
per ogni PrimoDiCOGNOME_NOME] (e' chi fattura) e per ogni [bimbo] (chi e' il destinatario della fattura)
ma per tutti i record (anche quelli dove la condizione dell'SQL non e' soddisfatta
WHERE (((([RETTA_TRAVASO_TESTATA]![MESANN]))=" & variabile_meseannopass & ")
cosa sbaglio?
'****CHIUDE IL REPORT GIA' APERTO
DoCmd.Close acReport, "STAMPA_RETTA"
'****DEFINISCE LA VARIABILE LONG CHE PRENDE DALLA MASCHERA
Dim variabile_meseannopass As Long
variabile_meseannopass = Int(([Forms]![PRESENZA_CON_COGNOME_CampiIncrociati_PER_MASCHERA]![TRASP].Value))
'****QUERY SELECT
Dim SQL As String, pathname As String, rs As Recordset
SQL = SQL & "SELECT RETTA_TRAVASO_TESTATA.EDUCATRICE AS EDUCATRICE_RIFERIMENTO, RETTA_TRAVASO_TESTATA.ID, RETTA_TRAVASO_TESTATA.MESANN, RETTA_TRAVASO_TESTATA.PrimoDiCOGNOME_NOME, RETTA_TRAVASO_TESTATA.PrimoDiINDIRIZZO, RETTA_TRAVASO_TESTATA.PrimoDiCAP_E_CITTA, RETTA_TRAVASO_TESTATA.PrimoDiPIVA, [PrimoDiCOGNOME] & ' ' & [primodinome] AS bimbo, RETTA_TRAVASO_TESTATA.PrimoDiIND_BAMB, [PrimoDiCAP] & ' ' & [PRIMODICITTA] & ' ' & [PRIMODIPROVINCIA] AS CAPCITPROV, RETTA_TRAVASO_TESTATA.PrimoDiCF_BAMBINO, RETTA_TRAVASO_TESTATA.PrimoDiMESANDESC1, RETTA_TRAVASO_TESTATA.ACCONTO, RETTA_TRAVASO_TESTATA.ABBATTIMENTO, RETTA_TRAVASO_TESTATA.SCONTO_SECONDO, RETTA_TRAVASO_RIGA.TIPO_RETT_CON_ASSENZA, RETTA_TRAVASO_RIGA.PrimoDidescrizione, RETTA_TRAVASO_RIGA.SommaDiConteggioDiTIPO_RETT_CON_ASSENZA, RETTA_TRAVASO_RIGA.PrimoDiimporto, RETTA_TRAVASO_RIGA.SommaDiSUBTOT, RETTA_TRAVASO_RIGA.PrimoDiANNO, RETTA_TRAVASO_RIGA.PrimoDiMESE, "
SQL = SQL & "RETTA_TRAVASO_TESTATA.CONTATORE, [COGN_FATT] & ' ' & [NOME_FATT] AS COGN_NOM_FAT, RETTA_TRAVASO_TESTATA.CF_FATT, "
SQL = SQL & "RETTA_TRAVASO_TESTATA.CONTATORE, RETTA_TRAVASO_TESTATA.INDIRIZZO_FATT, [CAP_FATT] & ' ' & [CITTA_FATT] & ' ' & [PROVINCIA_FATT] AS CAP_CIT_PROV_FATT, (int([RETTA_TRAVASO_TESTATA].[MESANN])) AS MESANN_INT "
SQL = SQL & "FROM RETTA_TRAVASO_RIGA INNER JOIN RETTA_TRAVASO_TESTATA ON (RETTA_TRAVASO_RIGA.MESANN = RETTA_TRAVASO_TESTATA.MESANN) AND (RETTA_TRAVASO_RIGA.ID = RETTA_TRAVASO_TESTATA.ID) AND (RETTA_TRAVASO_RIGA.EDUCATRICE = RETTA_TRAVASO_TESTATA.EDUCATRICE) "
SQL = SQL & "WHERE (((([RETTA_TRAVASO_TESTATA]![MESANN]))=" & variabile_meseannopass & "))"
Set rs = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
DoCmd.Echo False
Do Until rs.EOF
'****APRE IL REPORT ED ESPORTA LE SINGOLE PAGINE
DoCmd.OpenReport "STAMPA_RETTA_X_EXPORT", acViewPreview, , "primodicognome_nome='" & rs![PrimoDiCOGNOME_NOME] & "'" & "AND bimbo='" & rs![bimbo] & "'"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, "C:\ASILO_NIDO\RETTE\" & rs![PrimoDiCOGNOME_NOME] & "_" & rs![bimbo] & ".pdf", False
DoCmd.Close acReport, "STAMPA_RETTA_X_EXPORT"
rs.MoveNext
Loop
DoCmd.Echo True
MsgBox "Le rette sono state esportate sulla cartella Asilonido\rette", vbCritical + vbOKOnly, "Esportazione eseguita"
Application.FollowHyperlink "C:\ASILO_NIDO\RETTE\"