🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #29

Re: problema VB .net 2005 e DB Access

#29
From: Reventlov
Date: Thu, 23 Oct 2008 21:39
122 lines
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-mail
References: <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]