Newsgroup: it.comp.appl.access
Titolo: Tracciati RI.BA

Qualcuno li ha realizzati con access?
Andrea 

Option Compare Database
Option Explicit
Private Const IntestazioneMessaggio As String = "Ricevute Bancarie"
Sub RiBa()
On Error GoTo Err_Riba
  Dim MioDB As DAO.Database, Rst As DAO.Recordset, Sc As Form, NomeFileOut 
As String, ContaRiba As String
  Dim NomeSupporto As String, VV As String, ValoreZero As String, 
TotaleRighe As String, Valore As String
  Dim RagioneSocialeCreditore As String * 60, PartitaIvaCreditore As String 
* 11, SiaCreditore As String * 5
  Dim DataOdierna As String * 6, DataScadenza As String * 6, DataFattura As 
String * 10, IbanCreditore As String * 27, IbanDebitore As String * 27
  Dim RagioneSocialeDebitore As String * 60, IndirizzoDebitore As String * 
30, CittaDebitore As String * 25, CapDebitore As String * 5, 
PartitaIvaDebitore As String * 11
  Dim SommaValore As Variant, k As Variant, I As Variant, LunghezzaLinea As 
Byte, IdScadenzaFattura As Variant, IDSerieFattura As Variant ', FileAperto 
As Byte
  Set MioDB = CurrentDb()
  Set Sc = Screen.ActiveForm
  ValoreZero = "000000000000000" 'Sono 15
  NomeSupporto = "F2GEST                     'Sono 26 Caratteri
  RagioneSocialeCreditore = "Franchi               'Sono 21
  PartitaIvaCreditore = "11111111111" 'Sono 11
  LunghezzaLinea = 120
  DataOdierna = Format(Date, "ddmmyy")
  NomeFileOut = DLookup("[Numero Costante]", "TMP)NumeriCostanti", "[ID 
Numero Costante] = 50") 'Cartella Predefinita PDF
  NomeFileOut = NomeFileOut + "Riba " + DataOdierna + ".txt"
  I = DLookup("[Codice Sia]", "@Banca", "[ID Gestione Banca]=" & Sc![ID 
Gestione Banca]): If IsNull(I) Or Len(I) <> 5 Then MsgBox ("Codice Sia 
Creditore"), 16, IntestazioneMessaggio: Exit Sub
  SiaCreditore = CStr(I)
  I = DLookup("[Iban]", "@Banca", "[ID Gestione Banca]=" & Sc![ID Gestione 
Banca]): If IsNull(I) Or Len(I) <> 27 Then MsgBox ("Codice Iban Creditore"), 
16, IntestazioneMessaggio: Exit Sub
  IbanCreditore = CStr(I)
'@@@ INIZIO
  VV = " IB" + SiaCreditore + Mid(IbanCreditore, 6, 5) + DataOdierna + 
NomeSupporto
  VV = VV + Space(113 - Len(VV)) + "E" + Space(6) 'Posizione 114
  Open NomeFileOut For Output As #1
  Print #1, VV
  Set Rst = MioDB.OpenRecordset("MovFatClienDataScadenzaBanca") 'query
  SommaValore = 0
  Do While Not Rst.EOF
    Rst.Edit
    k = Rst![ID Contatore]: ContaRiba = LTrim(CStr(k))
    ContaRiba = Left(ValoreZero, 7 - Len(ContaRiba)) + ContaRiba
    I = Rst![Data Scadenza]: If IsNull(I) Then MsgBox ("Data Scadenza 
Debitore"), 16, IntestazioneMessaggio: GoTo ErroriLettura
    DataScadenza = CStr(Format(I, "ddmmyy"))
    I = Rst![Data Fattura]: If IsNull(I) Then MsgBox ("Data Fattura 
Debitore"), 16, IntestazioneMessaggio: GoTo ErroriLettura
    DataFattura = CStr(Format(I, "dd/mm/yyyy"))
    IDSerieFattura = Rst![ID Serie Fattura]: If IsNull(IDSerieFattura) Then 
MsgBox ("ID Serie Fattura"), 16, IntestazioneMessaggio: GoTo ErroriLettura
    IdScadenzaFattura = Rst![ID Scadenza Fattura]: If 
IsNull(IdScadenzaFattura) Then MsgBox ("ID Scadenza Fattura"), 16, 
IntestazioneMessaggio: GoTo ErroriLettura
    I = Rst![Importo]: If IsNull(I) Then MsgBox ("Importo Debitore Fattura " 
+ CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo ErroriLettura
    SommaValore = SommaValore + I 'Variant
    Valore = Format(I, "0.00"): I = InStr(Valore, ","): Valore = Mid(Valore, 
1, I - 1) + Mid(Valore, I + 1, Len(Valore))
    Valore = Left(ValoreZero, 13 - Len(Valore)) + Valore
    I = Rst![Ragione Sociale]: If IsNull(I) Then MsgBox ("Ragione Sociale 
Debitore Fattura " + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo 
ErroriLettura
    RagioneSocialeDebitore = I: RagioneSocialeDebitore = 
Left(RagioneSocialeDebitore, 60) + Space(60 - Len(RagioneSocialeDebitore)) 
'60 Caratteri
    I = Rst![Iban]
    If IsNull(Mid(I, 6, 5)) Or Len(Mid(I, 6, 5)) <> 5 Or IsNull(Mid(I, 11, 
5)) Or Len(Mid(I, 11, 5)) <> 5 Then MsgBox ("Codice Abi e Cab Debitore 
Fattura " + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo 
ErroriLettura
    IbanDebitore = CStr(I)
    'AbiDebitore = CStr(Mid(I, 6, 5)): CabDebitore = CStr(Mid(I, 11, 5)): 
ContoCorrenteDebitore = CStr(Mid(I, 16, 12))
    I = Rst![Indirizzo Riba]: If IsNull(I) Then MsgBox ("Indirizzo Debitore 
Fattura " + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo 
ErroriLettura
    IndirizzoDebitore = Left(I, 30): IndirizzoDebitore = IndirizzoDebitore + 
Space(30 - Len(IndirizzoDebitore)) '30 caratteri
    I = Rst![Citta Riba]: If IsNull(I) Then MsgBox ("Citta Debitore Fattura 
" + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo ErroriLettura
    CittaDebitore = Left(I, 25): CittaDebitore = CittaDebitore + Space(25 - 
Len(CittaDebitore)) '30 caratteri ma Cilme Solo 25
    I = Rst![Cap Riba]: If IsNull(I) Or Len(I) <> 5 Then MsgBox ("Codice CAP 
Debitore Fattura " + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo 
ErroriLettura '5 caratteri
    CapDebitore = CStr(I)
    I = Rst![Partita IVA]: If IsNull(I) Then MsgBox ("Partita IVA Debitore 
Fattura " + CStr(IDSerieFattura)), 16, IntestazioneMessaggio: GoTo 
ErroriLettura
    PartitaIvaDebitore = Right(I, 11) '11 Numeri Senza IT
'@@@
    VV = " 14" + ContaRiba + Space(12) + DataScadenza + "30000" + Valore + 
"-" + Mid(IbanCreditore, 6, 22) + Mid(IbanDebitore, 6, 22) + SiaCreditore + 
"4" + Space(22) + "E"
    Print #1, VV
'@@@
    VV = " 20" + ContaRiba + RagioneSocialeCreditore
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
'@@@
    VV = " 30" + ContaRiba + RagioneSocialeDebitore + PartitaIvaDebitore
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
'@@@
    VV = " 40" + ContaRiba + IndirizzoDebitore + CapDebitore + CittaDebitore
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
'@@@ 10+13+5=28 al 101->Codice Fiscale
    VV = " 50" + ContaRiba
    If DCount("[ID Scadenza Fattura]", "Scadenze Fatture Clienti", "[ID 
Scadenza Fattura]>" & IdScadenzaFattura & "And [ID Serie Fattura]=" & 
IDSerieFattura & "And [Pagato]=False") Then
      VV = VV + "Acc. Fattura " + CStr(Right(IDSerieFattura, 5)) + " Del " + 
DataFattura
    Else
      VV = VV + "S.do Fattura " + CStr(Right(IDSerieFattura, 5)) + " Del " + 
DataFattura
    End If
    VV = VV + Space(100 - Len(VV)) + PartitaIvaCreditore
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
'@@@
    VV = " 51" + ContaRiba + "000" + ContaRiba + 
Left(RagioneSocialeCreditore, 20)
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
'@@@
    VV = " 70" + ContaRiba
    VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
    Rst.MoveNext
  Loop
'@@@ SommaValore Sono 15
  VV = Format(SommaValore, "0.00"): I = InStr(VV, ","): VV = Mid(VV, 1, I - 
1) + Mid(VV, I + 1, Len(VV))
  VV = Left(ValoreZero, 15 - Len(VV)) + VV
  VV = " EF" + SiaCreditore + Mid(IbanCreditore, 6, 5) + DataOdierna + 
NomeSupporto + ContaRiba + VV
  k = k * 7 + 2: TotaleRighe = LTrim(CStr(k))
  TotaleRighe = Left(ValoreZero, 7 - Len(TotaleRighe)) + TotaleRighe
  VV = VV + ValoreZero + TotaleRighe + Space(24) + "E"
  VV = VV + Space(LunghezzaLinea - Len(VV)): Print #1, VV
  MsgBox ("Il File � Stato Creato " + NomeFileOut), 48, 
IntestazioneMessaggio
Exit_Riba:
  Close 1
  Rst.Close
  Set Rst = Nothing
  Exit Sub
ErroriLettura:
  Close 1
  Kill NomeFileOut
  GoTo Exit_Riba
Err_Riba:
  MsgBox Error$
  MsgBox Err
  If Err = 91 Then Stop
  'Resume Next
  Resume Exit_Riba
End Sub

 ha scritto nel 
messaggio news:4a3b370e$0$699$5fc...@news.tiscali.it...
