Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 1999
    Messaggi
    269

    cerco disperatamente aiuto con FSO e ASP

    devo trasformare una macro VBA in uno cript ASP, che legge un file di testo ed invia le variabili lette in un mbd...
    Chi mi aiuta....
    Grazie a tutti, è importante.

  2. #2
    vba e asp/vbscript sono simili.... cosa non riesci a fare?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 1999
    Messaggi
    269
    Originariamente inviato da optime
    vba e asp/vbscript sono simili.... cosa non riesci a fare?
    ... come vedi questa è una macro che importa da un file di testo dei valori e li insersce in un foglio excel e conteporanemate in una tabella access.

    io vorrei fare la stessa cosa importando le variabile ed inserirle nella tabella di access, escludendo l'iportazione in excel che in questo caso non è importante.

    Se vuoi il file txt dimmelo.
    Grazie già da adesso solo per avermi risposto.

    codice:
    Sub IMPORT_L0785()
    
    Dim ExportRecordSet As ADODB.Recordset
    Dim PROVADatabase As ADODB.Connection
    Set PROVADatabase = New ADODB.Connection
    PROVADatabase.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & gPROVADatabasePath & "'; User Id=admin; Password=;"
    Set ExportRecordSet = New ADODB.Recordset
    ExportRecordSet.Open "TOTALE", PROVADatabase, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    ExportRecordSet.Index = "SERVIZIO"
    
    Set ELENCO = Worksheets("L0785_TOTALE")
    CONT = FirstFree("L0785_TOTALE", "A", 6) 'Record iniziale per il riempimento del tabulato
    Dim var_DATACONT As Date
    Dim var_VAL As Date
    
    iFile = FreeFile()
    vFile = ("C:\EPF\L0785.EPF")
    
    Open vFile For Input As #1
    
    While Not EOF(1)
    
    Line Input #1, RIGA
    If Len(Trim(RIGA)) > 0 Then
    If InStr(Mid(RIGA, 1, 12), "DATA CONTAB.") > 0 Then
    var_DATACONT = Mid(RIGA, 15, 10)
    End If
    If InStr(Mid(RIGA, 1, 11), "DIPENDENZA:") > 0 Then
    var_DIP = Format(Mid(RIGA, 14, 4), "#00000")
    End If
    If InStr(Mid(RIGA, 5, 1), "-") > 0 And InStr(Mid(RIGA, 13, 1), "-") > 0 Then
    var_COD = Mid(RIGA, 1, 3)
    End If
    
    If var_COD = "442" Then  'NEW LINE CONTROLLO SOLO SU UN CODICE BATCH
    
    If InStr(Mid(RIGA, 50, 2), "55") Or InStr(Mid(RIGA, 50, 2), "36") > 0 And InStr(Mid(RIGA, 98, 1), "/") > 0 Then
    var_NUMCC = Trim(Mid(RIGA, 1, 6))
    var_NOME = Trim(Mid(RIGA, 8, 40))
    var_CAUS = Mid(RIGA, 50, 2)
    
    var_DARE = Trim(Mid(RIGA, 60, 14))
    var_AVERE = Trim(Mid(RIGA, 80, 14))
    var_VAL = Mid(RIGA, 96, 10)
    var_MITT = Format(Mid(RIGA, 107, 4), "#00000")
    var_ANOMAL = Trim(Mid(RIGA, 116, 10))
    
    If Not EOF(1) Then
    
    Line Input #1, RIGA
    
    var_DESCR = Trim(Mid(RIGA, 10, 36))
    var_DESCR2 = Trim(Mid(RIGA, 96, 30))
    
    Line Input #1, RIGA
    
    var_ABI = Format(Mid(RIGA, 17, 5), "#00000")
    var_CAB = Format(Mid(RIGA, 23, 5), "#00000")
    var_IMP_PAG = Trim(Mid(RIGA, 29, 16))
    var_nrass = Val(Trim(Mid(RIGA, 45, 10))) * 1
    var_MT = Trim(Mid(RIGA, 56, 4))
    
    End If
    
    ID = var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass
    Set Found_ID = Sheets("L0785_TOTALE").Columns("S:S").Find(ID, LookIn:=xlFormulas)
    If Found_ID Is Nothing Then
    
    ELENCO.Range("A" & Trim(Str(CONT))).Value = CStr(var_DATACONT)
    ELENCO.Range("B" & Trim(Str(CONT))).Value = var_DIP
    ELENCO.Range("C" & Trim(Str(CONT))).Value = var_COD
    ELENCO.Range("D" & Trim(Str(CONT))).Value = var_NUMCC
    ELENCO.Range("E" & Trim(Str(CONT))).Value = var_NOME
    ELENCO.Range("F" & Trim(Str(CONT))).Value = var_CAUS
    ELENCO.Range("G" & Trim(Str(CONT))).Value = var_DARE
    ELENCO.Range("H" & Trim(Str(CONT))).Value = var_AVERE
    ELENCO.Range("I" & Trim(Str(CONT))).Value = CStr(var_VAL)
    ELENCO.Range("J" & Trim(Str(CONT))).Value = var_MITT
    ELENCO.Range("K" & Trim(Str(CONT))).Value = var_ANOMAL
    ELENCO.Range("L" & Trim(Str(CONT))).Value = var_DESCR
    
    
    Select Case ELENCO.Range("L" & Trim(Str(CONT))).Value
    Case "RIMESSA ASSEGNI BANCARI INSOLUTI E P"
    ELENCO.Range("L" & Trim(Str(CONT))).Value = "RIM. ASS. INS. PROT."
    End Select
    
    ELENCO.Range("M" & Trim(Str(CONT))).Value = var_DESCR2
    ELENCO.Range("N" & Trim(Str(CONT))).Value = var_ABI
    ELENCO.Range("O" & Trim(Str(CONT))).Value = var_CAB
    ELENCO.Range("P" & Trim(Str(CONT))).Value = var_IMP_PAG
    
    Select Case ELENCO.Range("P" & Trim(Str(CONT))).Value
    Case "IMPAG.N.ASS.BAN."
    ELENCO.Range("P" & Trim(Str(CONT))).Value = "IMPAGATO"
    Case "PAGATON.ASS.BAN."
    ELENCO.Range("P" & Trim(Str(CONT))).Value = "PAGATO"
    Case "IMPAG.N.ASS.CIR."
    ELENCO.Range("P" & Trim(Str(CONT))).Value = "IMP. A.C."
    End Select
    
    ELENCO.Range("Q" & Trim(Str(CONT))).Value = var_nrass
    ELENCO.Range("R" & Trim(Str(CONT))).Value = var_MT
    
    ELENCO.Range("S" & Trim(Str(CONT))).Value = var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass
    
    CONT = CONT + 1
    
       If Not ExportRecordSet.BOF Then
       ExportRecordSet.MoveFirst
       End If
       ExportRecordSet.Seek var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass, adSeekFirstEQ
       If ExportRecordSet.EOF = True Then
       With ExportRecordSet
       
          .AddNew
          .Fields("DATA_CONT") = CStr(var_DATACONT)
          .Fields("DIP") = Format((var_DIP), "#0000")
          .Fields("COD_BATCH") = var_COD
          .Fields("C_C") = Format((var_NUMCC), "#0")
          .Fields("NOMINATIVO") = var_NOME
          .Fields("CAUS") = var_CAUS
          .Fields("DARE") = var_DARE
          .Fields("AVERE") = var_AVERE
          .Fields("VAL") = CStr(var_VAL)
          .Fields("SPORT_MIT") = Format((var_MITT), "#0000")
          .Fields("ANOM") = var_ANOMAL
          .Fields("DESCR") = var_DESCR
           Select Case .Fields("DESCR")
           Case "RIMESSA ASSEGNI BANCARI INSOLUTI E P"
          .Fields("DESCR") = "RIM. ASS. INS. PROT."
           End Select
          .Fields("CRO") = var_DESCR2
          .Fields("ABI") = var_ABI
          .Fields("CAB") = var_CAB
          .Fields("PAG_IMP") = var_IMP_PAG
          
          Select Case .Fields("PAG_IMP")
          Case "IMPAG.N.ASS.BAN."
          .Fields("PAG_IMP") = "IMPAGATO"
          Case "PAGATON.ASS.BAN."
          .Fields("PAG_IMP") = "PAGATO"
          Case "IMPAG.N.ASS.CIR."
          .Fields("PAG_IMP") = "IMP. A.C."
          End Select
           
          .Fields("NR_ASS") = var_nrass
          
          .Fields("MT") = var_MT
          .Fields("SERVIZIO") = var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass
          .Update
          End With
       End If
    
    
    End If
    End If
    End If
    End If
    
    
    Wend
      
      ExportRecordSet.Close
      ExportRecordSet.Open "SELECT Count(SERVIZIO) As Cnt FROM TOTALE",    PROVADatabase, adOpenKeyset, adLockOptimistic, adCmdText
      Range("H3") = ExportRecordSet!cnt
      
      ExportRecordSet.Close
      Set ExportRecordSet = Nothing
      PROVADatabase.Close
      Set PROVADatabase = Nothing
    
    Close #1
    
    End Sub

  4. #4
    occhiata veloce (si capisce....) devi sostituire tutte le OPEN|LINE INPUT con le corrispondenti operazioni FSO. qui trovi la bibbia di M$

    http://msdn.microsoft.com/library/de...FileSystem.asp

    per il resto e' tutto abb.za simile

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 1999
    Messaggi
    269
    Originariamente inviato da optime
    occhiata veloce (si capisce....) devi sostituire tutte le OPEN|LINE INPUT con le corrispondenti operazioni FSO. qui trovi la bibbia di M$

    http://msdn.microsoft.com/library/de...FileSystem.asp

    per il resto e' tutto abb.za simile
    Ciao, optime

    Finalmente ci sono riuscito...Accccccccccccccccccc.
    Questa macro importa le stringhe dal file di testo e le inserisce in una tabella di un MDB. (funziona alla grande gararntito)
    Ora ho bisogno di arrangiarla per uno script ASP che faccia la stessa cosa.
    Sia il file di testo che l'MDB li inserirei in: c:\inetpub\wwwroot\miomdb\
    Grazie per l'aiuto.

    codice:
    Global Const gPROVADatabasePath = "C:\EPF\PROVA.MDB"
    Sub IMPORT_L0785_FSO_NO_EXCEL()
    
    Dim var_DATACONT As Date
    Dim var_VAL As Date
    Dim fso As Object
    Dim fil As Object
    Dim ExportRecordSet As ADODB.Recordset
    Dim PROVADatabase As ADODB.Connection
    Set PROVADatabase = New ADODB.Connection
    PROVADatabase.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & gPROVADatabasePath & "'; User Id=admin; Password=;"
    
    Set ExportRecordSet = New ADODB.Recordset
    ExportRecordSet.Open "TOTALE_NO_EXCEL", PROVADatabase, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    ExportRecordSet.Index = "SERVIZIO"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    vFile = "C:\EPF\L0785.TXT"
    Set fil = fso.OpenTextFile(vFile)
    Do While Not fil.AtEndOfStream
    RIGA = fil.ReadLine
    
    If Len(Trim(RIGA)) > 0 Then
    If InStr(Mid(RIGA, 1, 12), "DATA CONTAB.") > 0 Then
    var_DATACONT = Mid(RIGA, 15, 10)
    End If
    If InStr(Mid(RIGA, 1, 11), "DIPENDENZA:") > 0 Then
    var_DIP = Format(Mid(RIGA, 14, 4), "#00000")
    End If
    If InStr(Mid(RIGA, 5, 1), "-") > 0 And InStr(Mid(RIGA, 13, 1), "-") > 0 Then
    var_COD = Mid(RIGA, 1, 3)
    End If
    
    If var_COD = "442" Then  'NEW LINE CONTROLLO SOLO SU UN CODICE BATCH
    
    If InStr(Mid(RIGA, 50, 2), "55") Or InStr(Mid(RIGA, 50, 2), "36") > 0 And InStr(Mid(RIGA, 98, 1), "/") > 0 Then
    var_NUMCC = Trim(Mid(RIGA, 1, 6))
    var_NOME = Trim(Mid(RIGA, 8, 40))
    var_CAUS = Mid(RIGA, 50, 2)
    
    var_DARE = Trim(Mid(RIGA, 60, 14))
    var_AVERE = Trim(Mid(RIGA, 80, 14))
    var_VAL = Mid(RIGA, 96, 10)
    var_MITT = Format(Mid(RIGA, 107, 4), "#00000")
    var_ANOMAL = Trim(Mid(RIGA, 116, 10))
    
    If Not fil.AtEndOfStream Then
    
    RIGA = fil.ReadLine
    
    var_DESCR = Trim(Mid(RIGA, 10, 36))
    var_DESCR2 = Trim(Mid(RIGA, 96, 30))
    
    RIGA = fil.ReadLine
    
    var_ABI = Format(Mid(RIGA, 17, 5), "#00000")
    var_CAB = Format(Mid(RIGA, 23, 5), "#00000")
    var_IMP_PAG = Trim(Mid(RIGA, 29, 16))
    var_nrass = Val(Trim(Mid(RIGA, 45, 10))) * 1
    var_MT = Trim(Mid(RIGA, 56, 4))
    
    End If
    
       If Not ExportRecordSet.BOF Then
       ExportRecordSet.MoveFirst
       End If
       ExportRecordSet.Seek var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass, adSeekFirstEQ
       If ExportRecordSet.EOF = True Then
       With ExportRecordSet
       
          .AddNew
          .Fields("DATA_CONT") = CStr(var_DATACONT)
          .Fields("DIP") = Format((var_DIP), "#0000")
          .Fields("COD_BATCH") = var_COD
          .Fields("C_C") = Format((var_NUMCC), "#0")
          .Fields("NOMINATIVO") = var_NOME
          .Fields("CAUS") = var_CAUS
          .Fields("DARE") = var_DARE
          .Fields("AVERE") = var_AVERE
          .Fields("VAL") = CStr(var_VAL)
          .Fields("SPORT_MIT") = Format((var_MITT), "#0000")
          .Fields("ANOM") = var_ANOMAL
          .Fields("DESCR") = var_DESCR
           Select Case .Fields("DESCR")
           Case "RIMESSA ASSEGNI BANCARI INSOLUTI E P"
          .Fields("DESCR") = "RIM. ASS. INS. PROT."
           End Select
          .Fields("CRO") = var_DESCR2
          .Fields("ABI") = var_ABI
          .Fields("CAB") = var_CAB
          .Fields("PAG_IMP") = var_IMP_PAG
          
          Select Case .Fields("PAG_IMP")
          Case "IMPAG.N.ASS.BAN."
          .Fields("PAG_IMP") = "IMPAGATO"
          Case "PAGATON.ASS.BAN."
          .Fields("PAG_IMP") = "PAGATO"
          Case "IMPAG.N.ASS.CIR."
          .Fields("PAG_IMP") = "IMP. A.C."
          End Select
           
          .Fields("NR_ASS") = var_nrass
          .Fields("MT") = var_MT
          .Fields("SERVIZIO") = var_CAUS & "-" & var_ABI & "-" & var_CAB & "-" & var_nrass
          .Update
          End With
       End If
    
    End If
    End If
    End If
    
    Loop
      
      ExportRecordSet.Close
      Set ExportRecordSet = Nothing
      PROVADatabase.Close
      Set PROVADatabase = Nothing
    fil.Close
    Set fil = Nothing
    Set fso = Nothing
    
    End Sub

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 1999
    Messaggi
    269

    Roby Optime non mi abbandonate

    Up, per favore. Roby Optime dove siete non mi abbandonate.
    Garzie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.