codice:
strSql = "SELECT c.Azienda, c.Indirizzo, c.Civico, c.Cap, c.Citta, c.Cognome, c.Nome, c.Partita_Iva, c.Codice_Fiscale, " & _
" d.Num_Documento, d.Data_Documento, d.Condizione_Documento, d.Tot_Imp_Forn_Euro, " & _
" d.Tot_Imponibile, d.Tot_Iva, d.Acconto, d.Tot_Documento, d.Stato_Fattura, d.Data_Riferimento, " & _
" d.Num_Rif_Fattura, d.Data_Rif_Fattura, d.Id_Attenzione " & _
" FROM Documento d, Cliente c" & _
" WHERE d.Id_Documento = " & vIdDocumento & _
" AND d.Tipo_Documento = '" & vTipoDoc & "' " & _
" AND d.Id_Cliente = c.Id_Cliente"
Set RS = Db.Execute(strSql)
If Trim(RS(0)) <> "-" Then
If Len(Trim(RS(0))) > 40 Then
xRangeInizio = "G"
xRangeFine = "K"
Else
xRangeInizio = "H"
xRangeFine = "K"
End If
Else
vAnagrafica = Trim(RS(5)) & " " & Trim(RS(6))
If Len(vAnagrafica) > 40 Then
xRangeInizio = "G"
xRangeFine = "K"
Else
xRangeInizio = "H"
xRangeFine = "K"
End If
End If
X = X + 1
'Inizio Stampa sezione relativa al Cliente
Set RG1 = WS.Range(xRangeInizio & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = "SPETT.LE"
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
vPiva = Trim(RS(7))
vCodFisc = Trim(RS(8))
vNumDocumento = RS(9)
vDataDocumento = Trim(RS(10))
vCondDocumento = Trim(RS(11))
vTotImpFornEuro = RS(12)
vTotImponibile = RS(13)
vTotIva = RS(14)
vAcconto = RS(15)
vTotDocumento = RS(16)
vStatoFattura = Trim(RS(17))
vDataRiferimento = Trim(RS(18))
vNumRifFattura = Trim(RS(19))
vDataRifFattura = Trim(RS(20))
vIdAttenzioneDocumento = CInt(RS(21))
If vIdAttenzioneDocumento <> 0 Then
'Query sulla tabella dei nominativi (solo se valorizzato)
strSql5 = "SELECT nom.Nome_Attenzione, nom.Cognome_Attenzione " & _
" FROM Nominativo_Attenzione nom " & _
" WHERE nom.Id_Attenzione = " & vIdAttenzioneDocumento
Set RS2 = Db.Execute(strSql5)
vCorteseAttenzioneDocumento = Trim(RS2(0)) & " " & Trim(RS2(1))
RS2.Close
Set RS2 = Nothing
Select Case (vTipoDoc)
Case "F"
vColore = 17
Case "P"
vColore = 45
Case "NC"
vColore = 13
End Select
Set RG1 = WS.Range("A" & Y, "C" & Y)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &HFFFFFF
RG1.Font.Bold = True
RG1.Merge
RG1.Value = "Cortese attenz. Sig./Sig.ra"
WS.Range("A" & Y, "C" & Y).Interior.ColorIndex = vColore
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
RG1.BorderAround XlLineStyle.xlContinuous
Y = Y + 1
Set RG1 = WS.Range("A" & Y, "C" & Y)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = vCorteseAttenzioneDocumento
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
RG1.BorderAround XlLineStyle.xlContinuous
End If
X = X + 1
If vTipoDoc = "NC" Then
'Inizio Sezione stampa riferimento alla Fattura
'Controllo se la Nota di Credito è legata ad una Fattura
strSql3 = "SELECT Id_Fattura " & _
" FROM Fattura_NotaCredito " & _
" WHERE Id_NotaCredito = " & vIdDocumento
Set RS2 = Db.Execute(strSql3)
If Not RS2.EOF Then
'Se c'è il legame, recupero le informazioni dalla Fattura
strSql4 = "SELECT Num_Documento, Data_Documento " & _
" FROM Documento " & _
" WHERE Tipo_Documento = 'F' " & _
" AND Id_Documento = " & RS2(0)
Set RS3 = Db.Execute(strSql4)
vStringaRiferimento = "Riferimento Fattura N° " & RS3(0) & " del " & RS3(1)
RS3.Close
Set RS3 = Nothing
Else
vStringaRiferimento = "Riferimento Fattura N° " & vNumRifFattura & " del " & vDataRifFattura
End If
RS2.Close
Set RS2 = Nothing
Set RG1 = WS.Range("G" & X_Rif, "K" & X_Rif)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = vStringaRiferimento
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
'Fine Sezione stampa riferimento alla Fattura
End If
If Trim(RS(0)) = "-" Then
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(5)) & " " & Trim(RS(6))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(1)) & ", " & Trim(RS(2))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(3)) & " " & Trim(RS(4))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
vConta = 1
Else
If InStr(1, Trim(RS(0)), vbCrLf) <> 0 Then
varArray = Split(Trim(RS(0)), vbCrLf)
For Each varItem In varArray
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = varItem
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
vConta = vConta + 1
Next
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(1)) & ", " & Trim(RS(2))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(3)) & " " & Trim(RS(4))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
Else
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(0))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(1)) & ", " & Trim(RS(2))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
X = X + 1
Set RG1 = WS.Range(xRangeInizio & X, xRangeFine & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(3)) & " " & Trim(RS(4))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
vConta = 1
End If
End If
RS.Close
Set RS = Nothing
'Fine Stampa sezione relativa al Cliente
'Inizio Stampa sezione relativa al Congresso
X = X + 2
Set RG1 = WS.Range("A" & X, "B" & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = "Nome Evento"
WS.Range("A" & X, "B" & X).Interior.ColorIndex = 15
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
RG1.BorderAround XlLineStyle.xlContinuous
strSql = "SELECT Titolo_Congresso " & _
" FROM Documento d, Congresso c" & _
" WHERE d.Id_Documento = " & vIdDocumento & _
" AND d.Tipo_Documento = '" & vTipoDoc & "' " & _
" AND d.Id_Congresso = c.Id_Congresso"
Set RS = Db.Execute(strSql)
X = X + 1
'Se il nome del Congresso è maggiore di 80 caratteri,
'recupero solamente i primi 80 caratteri
If Len(Trim(RS(0))) > 80 Then
vCongresso = Trim(Mid(RS(0), 1, 80))
Else
vCongresso = Trim(RS(0))
End If
vCongressoDiviso = dividiStringa(Trim(RS(0)), 12)
If InStr(1, vCongressoDiviso, vbCrLf) <> 0 Then
varArray = Split(vCongressoDiviso, vbCrLf)
For Each varItem In varArray
Set RG1 = WS.Range("A" & X, "K" & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = varItem
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
RG1.BorderAround XlLineStyle.xlContinuous
'Setto la variabile a true
vACapo = True
X = X + 1
Next
Else
Set RG1 = WS.Range("A" & X, "K" & X)
RG1.Font.Name = "Arial"
RG1.Font.Size = 10
RG1.Font.Color = &H800000
RG1.Font.Bold = True
RG1.Merge
RG1.Value = Trim(RS(0))
WS.StandardWidth = 8
WS.Cells.RowHeight = 12.75
RG1.BorderAround XlLineStyle.xlContinuous
'Setto la variabile a false
vACapo = False
X = X + 1
End If
RS.Close
Set RS = Nothing
'Fine Stampa sezione relativa al Congresso