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