Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Salvataggio variabile di testo VBA in tabella db

60 views
Skip to first unread message

emailcasa

unread,
Aug 13, 2010, 9:30:33 AM8/13/10
to
Ho provato a cercare soluzioni sul gruppo, ma il problema che proverò
a riassumere è particolare:

Tramite comando Set oHttp = CreateObject("MSXML2.XMLHTTP")....... ho
estratto il codice html in una variabile
Tramite comandi txtHTML = Replace(txtHTML, "</td><td>", ";")........
ho estratto dalla pagina html soltanto i dati utili

ora mi trovo nella variabile txtHTML dei dati di questo tipo:

data1;testo1;prezzo1
data2;testo2;prezzo2
data3;testo3;prezzo3

come posso esportare questi dati in una tabella del mio database (già
impostata con 3 colonne)?

grazie
Andrea

P.S.

Io ho provato esportando i dati in word
salvando in un file .txt, usando il comando
DoCmd.TransferText acImportDelim, , "temp", "C:\MyWP.txt"

Ma il sistema è alquanto inaffidabile va una volta su dieci, e mi
rimane attivo word nonostante tenta di chiuderlo con istruzione

For Each myTask In Tasks
If InStr(myTask.name, "Microsoft Word") > 0 Then
myTask.Activate
myTask.Close
End If
Next myTask

Karl Donaubauer

unread,
Aug 16, 2010, 7:21:14 AM8/16/10
to
emailcasa wrote:
> Ho provato a cercare soluzioni sul gruppo, ma il problema che
> proverò a riassumere è particolare:
>
> Tramite comando Set oHttp = CreateObject("MSXML2.XMLHTTP")....... ho
> estratto il codice html in una variabile
> Tramite comandi txtHTML = Replace(txtHTML, "</td><td>", ";")........
> ho estratto dalla pagina html soltanto i dati utili
>
> ora mi trovo nella variabile txtHTML dei dati di questo tipo:
>
> data1;testo1;prezzo1
> data2;testo2;prezzo2
> data3;testo3;prezzo3
>
> come posso esportare questi dati in una tabella del mio database
> (già impostata con 3 colonne)?
> ...

p.e.

Dim db As DAO.Database
Dim rs As DAO.Recordset

Dim strArr() As String
Dim i As Long

Set db = CurrentDb
Set rs = db.OpenRecordset("Tabella", dbOpenDynaset)

strArr = Split(txtHTML, vbCrLf)

For i = 0 To UBound(strArr)
rs.AddNew
rs!Campo1 = Split(strArr(i), ";")(0)
rs!Campo2 = Split(strArr(i), ";")(1)
rs!Campo3 = Split(strArr(i), ";")(2)
rs.Update
Next i

--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it

emailcasa

unread,
Aug 16, 2010, 8:33:08 AM8/16/10
to
> Access FAQ:http://www.donkarl.com/it- Nascondi testo citato
>
> - Mostra testo citato -

Grazie, non conoscevo l'esistenza della funzione split.

ho soltanto dovuto sostiuire la stringa strArr = Split(txtHTML,
vbCrLf) con strArr = Split(txtHTML, vbLf)

0 new messages