Newsgroup: it.comp.appl.access
Titolo: [VBS] Leggere un file INI ed Updatare una Tabella

Ciao, buna domenica.
Attraverso il programma di Setup scrivo in un file
INI il percorso di alcune Cartelle di Sistema per
l'applicativo.
Poichè nel FE memorizzo in una Tabella tali percorsi
non vorrei rileggerli ad ogni apertura del FE, ma pensavo
di mandare in esecuzione uno Script sull'Evento DopoInstallazione
del SETUP che leggesse il File INI ed eseguisse una Query
INSERT nella tabella Locale.
Per la query insert non ci sono problemi, dopo aver aperto
un'oggeto Access ed il ralativo oggetto Database eseguo
il metodo EXECUTE da Script.
Mi rimane il dubbio su come leggere il file INI da VBS.
Per ora sono riuscito a partorire solo un Parsing del file,
ma la cosa non mi aggrada particolarmente.
Pensavo di accedere alle API inserendo nello Script i riferimenti
alla dll del Kernel per acedere alle Funzioni di accesso
ai File INI, ma non l'ho mai fatto e non ho trovato nulla
in giro.(e magari nemmeno si può fare.....)
Se qualcuno avesse dei suggerimenti o magari altre soluzioni
meno complesse per effettuare la cosa sarebbe un ottima cosa.
Grazie.
@Alex
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Ciao,
Massimo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Massimo
-- 
_ _
Ciao
MAssimiliano Amendola
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:  
www.donkarl.com/it

 Almeno mi avete citate prima di Biso!!!
E daje co 'sto voi


 Massimo
-- 


 Ueh, io in camera col cartello "do not disturb" non entro!!!
Spero bene...
ma cosa c'entra con il fatto che mi dai del Voi?


 Massimo
Ciao


 @Alex
Ciao,
Massimo

 Massimo
Non è che non è il massimo, ma non ho capito...!
La Dll in questione è il Kernel32.dll c'è già.....
Ho il dubbio che si possa usare una DLL nel file
VBS, e quì torniamo al'origine....!
Cosa mi sfugge....?
Fammi un esempio stringato.


 dal File.INI per effettuare la Query UPDATE.
non e' che usi vbs, so soltanto che esiste.
Ma fammi capire mi stai dicendo che da vbs non si riesce a leggere
ed operare su un qualsiasi file di testo?
I costrutti di  VBS non sono quelli che si usano in  ASP?
Ma non hai gia detto che il parsing del file lo fai?
Mi rendo conto da piccole cose che ormai sono arrivato
ma ti giuro credo di non aver capito assolutamente il tuo problema.
Da quello che capisco io mi sarei limitato ad un paio di split.
(anzi tre)
--
a.cara

 ha scritto nel messaggio
news:d5nd4a$sma$1...@news.newsland.it...

vedi sempre mio post macchinata del nord ... ormai è un chiodo fisso x lui
...

 a.cara
Ciao.


 Ci provo.
Ti ripeto il vbs che conosco e' quello di ASP e grosso modo
ha le stesse funzioni sia di VBA che di VB.
Mi hai fatto venire il dubbio ed ho fatto una ricerchetta in
rete. Mi e' saltato fuori uno script che mi conforta.
Cmq se non erro stai usando il WSH (mi pare che il mago qui
sia il rompitore di PC, non fara' il relatore al CISA sull'argomento?) 
che appunto usa VBS.
--
a.cara

 a.cara
Perchè mai WSH...?
Nel mio caso uso in modo esplicito VBA da VBS:
Dim objAccess 
Dim Dbs
Set objAccess = CreateObject("Access.Application.8")
Set Dbs=objAccess.OpenCurrentDatabase(strPathToMDB)
dbs.Execute "UPDATE...."
Questo è quanto ho inserito nel file VBS per l'update.
Ovvio che per leggere il FILE INI uso FSO
Dim GetFile
Dim Key
Dim Key1
Dim Key2
Dim Key3
Dim FsoObject 
Set FsoObject = WScript.CreateObject("Scripting.FileSystemObject") 
GetFile = FsoObject.OpenTextFile(FileName).ReadAll
'----------------------------------------------------------
'ed è quì che in base a quanto mi hai suggerito dovrei
'usare lo SPLIT.... o sbaglio..???
'----------------------------------------------------------
Key=Split(GetFile,VbNewLine)
' Salto l'indice Zero in quanto è la SECTION del file INI
Key1=Key(1)
Key2=Key(2)
Key3=Key(3)
' Ora riprendo l'Oggetto DBS
dbs.Execute "UPDATE MyTable SET " & _
               "Campo1='" & Key1 & "'" & _
               "Campo2='" & Key2 & "'" & _
               "Campo3='" & Key3 & "'" & _
            "WHERE PK=1"
Dovrebbe andare che ne dici....?
Domani con calma provo, ora non ho una gran voglia.


 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriMicrosoftWindowsScriptTechnologies.asp
Windows Script Host
     The Microsoft Windows Script Host (WSH) is a tool that will allow 
you to run Visual Basic Scripting Edition and JScript natively within 
the base Operating System, either on Windows 95 or Windows NT 4.0.
(un po' vecchio come riferimento ma tant'e')
"Magara" usi VBS all'interno di WSH
NG : microsoft.public.it.scripting
sei OTTTTTTTTTTTTTTTTTT        ;<)
--
a.cara

 a.cara
Dissento dal concetto di WSH o meglio ripeto che non uso 
per questo caso WSH, che conosco sufficientemente bene.
WSH è un'insieme di SuperClassi e può essere inserito anche
nei riferimenti di Access, ma ovviamente solo un pazzo userebbe
EarlyBinding con queste cose...!
In particolare WSH è supportato da VBS in quanto linguaggio
di scripting interpretato che supporta il LateBinding dinamico
come l'uso di WSH o di FSO ecc....!
Convengo invece sull'OT del mio post, ma questo NG è pieno
di risorse....! ;-)
Ciao


 come l'uso di WSH o di FSO ecc....!
o che bello facciamo un po di polemica!
Che dentro WSH ci sia tutto quello che dici tu non discuto, non 
dissento, non entro in merito.
Facciamo una similitudine.
Access lo conosci mi pare.
Alors, secondo te e' possibile scrivere una applicazione access che non 
usi il DB? e' possibile scrivere una applcazione che non usi Forms e 
tutti gli impicci che si porta dietro access? magari fai un modulicchio
che recita pressapoco cosi' e lo metti in Avvio:
Public sub UCAS()
shell "dir"
end sub
La domanda e': ma per fare sta dir sto usando o no Access?
La cosa che voglio sostenere e' che non e' detto che di un mondo immenso
si debbano per forza usare tutti gli strumenti. Se poi per accendere il
fuoco sulla spiaggia si incendia un pozzo di petrolio come si suol dire
"non sputo sui gusti" (cit. dot.).
Rimango quindi della mia opinione e faccio il "petulante" traducendo
dall'inglese quanto sopra riportato
"WSH e' un mezzo che consente di eseguire nativamente VBS e JS 
all'interno dei sistemi operativi Microsoft"
Detto altrimenti senza WSH VBS non gira! come non gira una
applicazione access senza access (developer o runtime che dir si voglia)
Per quanto riguarda FSO e' semplicemente un oggetto utilizzabile da
tutti i mondi che lo consentono (ivi inclusi VB e .Net e ASP & so on)
Quanto mi piace quella citazione (non mi ricordo piu' chi lo ha detto)
"Mai confondere la mappa con il territorio" ma in fondo forse e meglio
la "Chissenefrega basta che funzioni" ;<)
s.e. & o.
Fammi sapere come finisce con il file INI
ciao
--
Alessandro

 Alessandro
Per il File INI funzionerebbe tutto, ho letto il File
e fatto lo Split, ma rivedendo il tutto mi tengo il
mio vecchio metodo eseguito all'interno dell'applicativo.


 @Alex
Ciao,
Massimo 

 Massimo
Ho capito ma il problema è quello del Runtime con una
Dll Activex creata con VB, e non posso distribuirlo.
Fa nulla, rimango ligio alla via originale.
Ciao Grazie.
@ALex
