Article View: free.it.visual-basic
Article #29Re: problema VB .net 2005 e DB Access
From: Reventlov
Date: Thu, 23 Oct 2008 21:39
Date: Thu, 23 Oct 2008 21:39
122 lines
6235 bytes
6235 bytes
Il giorno Tue, 21 Oct 2008 04:42:52 -0700 (PDT), viktor18 <Vittorio.Saponaro@gmail.com> ha
scritto:
>L'applicazione che vorrei creare dovrebbe semplicemente leggere i
>record di una tabella (gi=E0 piena)
>di un db access e inserirne il contenuto in una o pi=F9 textbox .
>Ora sto impazzendo tra dataset, datatable, ecc. e in giro trovo solo
>esempi di creazione di tabelle.
>Qualcuno pu=F2 gentilmente darmi (o indirizzarmi verso) un esempio di
>semplice lettura ?
Hai "sbagliato" newsgroup, qui non scrive quasi nessuno. Gli esperti sono su
it.comp.lang.visual-basic
Io comunque ho scritto questo .vbs che elenca in una finestra di internet explorer le
righe di una tabella presa dal file mdb trascinato sull'icona.
C'� anche qualche descrizione sulle mie pagine
su digilander.
' *****************************************************
' ADO elenco righe di una tabella.vbs
' (c) Cenati Giovanni - http://digilander.libero.it/Cenati
' Codice vbs liberamente utilizzabile citando il sito
' Trascinare un file mdb sull'icona dello script.
' Viene chiesto il nome di una tabella dell'archivio.
' Mostra in una finestra di Internet Explorer tutte o una
' parte delle righe della tabella.
' Drop an MDB file on the icon. The script asks
' the name of a valid table of the database.
' Then shows an Internet Explorer window with a list of
' all or part of the records found in the table.
' *****************************************************
Title= "Elenco contenuto di un database - by Cenati Giovanni"
Set objArgs = WScript.Arguments 'Vedo se c'� un agrogmento passato allo script
if objargs.count<>1 then 'altrimenti mostro come si usa il programma
msgbox "Trascinare un file mdb sul programma.",vbInformation+vbOkonly,Title
wscript.quit
end if
DbFile = objArgs(0) 'questa variabile contiene il nome del file da leggere
Set oRecordset = createobject("ADODB.Recordset")
Set oConnection = createobject("ADODB.Connection")
oConnection.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbFile & ";"
oRecordset.ActiveConnection = oConnection
oRecordset.CursorType=1 : oRecordset.LockType=3
TableName = inputbox( "Nome della tabella?" ,title )
' SQL = "SELECT * FROM Products Where SupplierID=2"
SQL = "SELECT * FROM " & TableName
' Crea un recordset con tutte le colonne dalla tabella che vogliamo.
oRecordset.Open SQL, oConnection
'Gestisco l'errore se il recordset � vuoto.
If oRecordset Is Nothing Then msgbox "Nessun record.",,Title:wscript.quit
'Trovo il numero totale di record che ho estratto.
nRecord= oRecordset.Recordcount
'E chiedo se li si vuole mostrare tutti.
nRecordDaMostrare=int(inputbox("Quanti record mostro?",Title,nRecord))
if nRecordDaMostrare>nRecord then nRecordDaMostrare=nRecord
if nRecordDaMostrare=0 then wscript.quit
'*** Crea una finestra che funge da output ***
Set myIE = CreateObject("InternetExplorer.Application")
myIE.Navigate "about:blank"
myIE.ToolBar = True:myIE.StatusBar = False:myIE.Resizable = True
Do:wscript.sleep 100:Loop While myIE.Busy
myIE.Width = 600:myIE.Height = 400
myIE.Left = 50:myIE.Top = 50
myIE.Visible = True
myIE.document.writeln("<html><title></title>"&_
"<body><DIV id='cont'></DIV></body></html>")
Set IEWindow = myIE.Document.all("cont")
'**********************************************
' Elenco alcuni dati sul database e sui record.
lista= "<h2>Database: " & DbFile & "<h2><br>" 'Nome del database
lista= lista & "<h4>" 'il resto lo scrivo pi� piccolo.
lista=lista & "Numero record totali: " & nRecord & "<br>"
lista=lista & "Numero record mostrati: " & nRecordDaMostrare & "<br>"
lista= lista & "Elenco record della tabella " & TableName & ":<br><br>"
lista= lista & "<table BORDER=1 CELLPADDING=2 CELLSPACING=2 >"
lista= lista & "<tr>" 'Inizia la riga con i nomi dei campi
' Sono oRecordset.fields.count, numerati partendo da zero.
For i=0 To oRecordset.fields.count-1
lista= lista & "<td>" & oRecordset.fields(i).name & "</td>"
Next
lista= lista & "<td># Record</td></tr>" 'termina la riga con le intestazioni.
' Mi sposto alla prima riga selezionata
oRecordset.MoveFirst
' Leggo i record e li impagino in una tabella html.
Do
lista=lista & "<tr>" 'Inizio una riga (un record)
For i=0 To oRecordset.fields.count-1
'per il record corrente chiedo il contenuto del campo i-esimo
lista = lista & "<td>" & oRecordset.fields(i) & "</td>"
'Posso anche chiedere un campo specifico
'con, ad esempio, oRecordset.fields("ProductName")
Next
'lista=lista & "</tr>" 'Fine riga con un record
'oppure aggiunge anche il numero progressivo del record.
lista=lista & "<td>" & orecordset.absoluteposition & "</td></tr>"
oRecordset.movenext
'e passo al record successivo (se non sono gi� alla fine).
Loop until oRecordset.eof Or (oRecordset.AbsolutePosition = nRecordDaMostrare + 1)
lista=lista & "</table><br>" 'Termino la tabella
IEWindow.innerhtml = lista
oConnection.close
Set oConnection = Nothing
Set oRecordset = Nothing
'********* ADO elenco righe di una tabella.vbs ***************
--
Giovanni Cenati (Bergamo, Italy)
Write to "Reventlov" at katamail com
http://digilander.libero.it/Cenati (Esempi e programmi in VbScript)
--
Technical Details
Message-ID:
<4900ee6f.2370593@powernews.libero.it>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!feeder.news.tin.it!nntp.infostrada.it!twister2.libero.it.POSTED!not-for-mailReferences:
<fcf3e5bc-7740-4f86-8b45-3d2ddb800301@d45g2000hsc.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f94ee,db8c915c51195023 X-Google-Attributes: gidf94ee,domainid0,public,usenet X-Google-Language: ITALIAN,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!feeder.news.tin.it!nntp.infostrada.it!twister2.libero.it.POSTED!not-for-mail From: noone@no.void (Reventlov) Newsgroups: free.it.visual-basic Subject: Re: problema VB .net 2005 e DB Access Reply-To: Write.to.Reventlov at signature.below Message-ID: <4900ee6f.2370593@powernews.libero.it> References: <fcf3e5bc-7740-4f86-8b45-3d2ddb800301@d45g2000hsc.googlegroups.com> X-Newsreader: Forte Free Agent 1.21/32.243 Lines: 122 Date: Thu, 23 Oct 2008 21:39:54 GMT NNTP-Posting-Host: 151.83.24.73 X-Complaints-To: abuse@libero.it X-Trace: twister2.libero.it 1224797994 151.83.24.73 (Thu, 23 Oct 2008 23:39:54 MET DST) NNTP-Posting-Date: Thu, 23 Oct 2008 23:39:54 MET DST Organization: [Infostrada]