Il linguaggio Visual Basic di Microsoft
 

VB6 e database *.mdb

Gulp® 26 Ago 2016 11:11
Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
un programma dentro all'IDE, questo funziona se basato su tabelle office
97, invece non parte e dà errore se basato su tabelle office 2000.
Come posso rimediare? Cosa manca all' installazione di VB6?

--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
Gulp® 26 Ago 2016 11:22
Il 26/08/16 11:11, Gulp® ha scritto:
> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
> un programma dentro all'IDE, questo funziona se basato su tabelle office
> 97, invece non parte e dà errore se basato su tabelle office 2000.
> Come posso rimediare? Cosa manca all' installazione di VB6?
>
Ops...dimenticavo di citare l'errore in apertura: "Intercettato errore
dati. Impossibile trovare ISAM installabile"

--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
GbC 26 Ago 2016 17:16
Il 26/08/2016 11:11, Gulp® ha scritto:
> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
> un programma dentro all'IDE, questo funziona se basato su tabelle office
> 97, invece non parte e dà errore se basato su tabelle office 2000.
> Come posso rimediare? Cosa manca all' installazione di VB6?
>

ISAM: installable indexed sequential access method

È un pezzo di software (generalmente una type library tlb) che consente
l'accesso da una determinata base dati; un po' come un driver, per
capirci. Per quello che ne so io VB6 supporta fino ad Office 97.

Basta convertire i db dal formato 2k a quello 97. Access 2000 e
successivi leggono e scrivono i formati 97, quindi -dovrebbe- essere
tutto piuttosto semplice.

In tutti i casi nella KB MS c'è una documentazione infinita su queste cose.


--
GbC
www.gbc.uno
Greg 28 Ago 2016 23:01
Il 26/08/2016 11:11:25 Gulp® ha scritto:
> Ho installato VB6 in Win 10

Come hai fatto?

--
Greg
Gulp® 29 Ago 2016 23:27
Il 28/08/16 23:01, Greg ha scritto:
> Il 26/08/2016 11:11:25 Gulp® ha scritto:
>> Ho installato VB6 in Win 10
>
> Come hai fatto?
>
In giro per la rete si trova più di qualche procedura, ma se vuoi farla
breve segui :
http://nuke.vbcorner.net ******* tabid/36/language/it-IT/Default.aspx

Ma, come hai potuto leggere ho il problema dei database office 2000

--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
Gulp® 29 Ago 2016 23:58
Il 26/08/16 17:16, GbC ha scritto:
> Il 26/08/2016 11:11, Gulp® ha scritto:
>> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
>> un programma dentro all'IDE, questo funziona se basato su tabelle office
>> 97, invece non parte e dà errore se basato su tabelle office 2000.
>> Come posso rimediare? Cosa manca all' installazione di VB6?

> Per quello che ne so io VB6 supporta fino ad Office 97.

In windows xp e win 7 utilizzavo programmi nell' IDE di VB6 e relativo
software compilato collegati a db di Access 2000.
>
> Basta convertire i db dal formato 2k a quello 97. Access 2000 e
> successivi leggono e scrivono i formati 97, quindi -dovrebbe- essere
> tutto piuttosto semplice.

Al momento della conversione di una db da access 97 a 2000 si viene
avvertiti con un messaggio di Office che non sarà possibile tornare
indietro.
--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
GbC 30 Ago 2016 10:05
Il 29/08/2016 23:58, Gulp® ha scritto:
> Il 26/08/16 17:16, GbC ha scritto:
>> Il 26/08/2016 11:11, Gulp® ha scritto:
>>> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
>>> un programma dentro all'IDE, questo funziona se basato su tabelle office
>>> 97, invece non parte e dà errore se basato su tabelle office 2000.
>>> Come posso rimediare? Cosa manca all' installazione di VB6?
>
>> Per quello che ne so io VB6 supporta fino ad Office 97.
>
> In windows xp e win 7 utilizzavo programmi nell' IDE di VB6 e relativo
> software compilato collegati a db di Access 2000.
>>
>> Basta convertire i db dal formato 2k a quello 97. Access 2000 e
>> successivi leggono e scrivono i formati 97, quindi -dovrebbe- essere
>> tutto piuttosto semplice.
>
> Al momento della conversione di una db da access 97 a 2000 si viene
> avvertiti con un messaggio di Office che non sarà possibile tornare
> indietro.

Si, non intendevo dire di convertire ogni volta che si deve fare una
modifica.

Qui ho Office 2007, ma se non erro tutti gli Office leggono e scrivono i
db in formato 97; quindi usi il formato 97. Se devi fare delle modifiche
con Office lo apri, modifichi e salvi; con Office 2007 (non ho qui un
2000) non mi chiede il formato ma usa quello di default e salva
direttamente in formato 97.

Ho dozzine di vecchi software in giro che funzionano in questo modo (VB6
+ MDB 97), con utenti che operano sui db -anche- con W10 ed Office 365.

Diverso è se devi utilizzare caratteristiche che il formato 97 non
supporta; in questo caso non hai alternative se non passare a qualcosa
di più recente, visto che ciò di cui parliamo ha almeno 16 anni.


--
GbC
www.gbc.uno
Gulp® 30 Ago 2016 10:24
GbC ha scritto:

> Basta convertire i db dal formato 2k a quello 97.

Visto che non riesco a far funzionare i db non-97 e che non riesco a
venirne a capo, mi rassegnerei anche ad una conversione in downgrade.
Mi spiegheresti la procedura per favore?

--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
GbC 31 Ago 2016 11:55
Il 30/08/2016 10:24, Gulp® ha scritto:
> GbC ha scritto:
>
>> Basta convertire i db dal formato 2k a quello 97.
>
> Visto che non riesco a far funzionare i db non-97 e che non riesco a
> venirne a capo, mi rassegnerei anche ad una conversione in downgrade.
> Mi spiegheresti la procedura per favore?
>

Ah non lo so. Non ho mai avuto necessità di fare quello che chiedi.
Sapendo che VB6 non supporta altro che 97 non ho mai provato ad usare
versioni successive, quindi non ho mai dovuto effettuare conversioni. Da
quello che ricordo le versioni di Office successive alla 2003 non
possono creare (leggere e scrivere si) ******* in versione 97. La funzione
di conversione dovrebbe essere nel pulsante office > gestisci >
converti, ma con tutte le versioni in giro non sono certo.

Prova a vedere qui:

http://stackoverflow.com/questions/1172826/i-need-to-write-an-access-97-mdb
******* (http://tinyurl.com/hjbpngs)

Comunque ho appena provato con il mio 2007 e la funzione 'esporta' delle
tablle funziona: puoi esportare dal tuo db 2k ad un db esistente formato
97. Creare il db no, ma aggiungere tabelle si. Quindi parti da un db
vuoto in formato 97 ed aggiungi quello che ti serve dal db 2k.

Così su 2 piedi non trovo di meglio.

--
GbC
www.gbc.uno
Greg 31 Ago 2016 18:51
Il 26/08/2016 11:11:25 Gulp® ha scritto:
> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio un
programma dentro all'IDE, questo funziona
> se basato su tabelle office 97, invece non parte e dà errore se basato su
tabelle office 2000.
> Come posso rimediare? Cosa manca all' installazione di VB6?

Allora provo a suggerirti di vedrificare se nel progetto c'è qualche
datacontrol impostato sulla versione 97.
La proprietà Connect di default è su Access, devi selezionare Access 2000.
Poi vai su riferimenti e accertati di avere seleziona la libreria Microsft Dao
3.6.
In questo modo si aprono i 97 e i 2000 (forse pure 2003) sia da codice che da
controllo.

--
Greg
GbC 1 Set 2016 09:42
Il 29/08/2016 23:58, Gulp® ha scritto:
> Il 26/08/16 17:16, GbC ha scritto:
>> Il 26/08/2016 11:11, Gulp® ha scritto:
>>> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se lancio
>>> un programma dentro all'IDE, questo funziona se basato su tabelle office
>>> 97, invece non parte e dà errore se basato su tabelle office 2000.
>>> Come posso rimediare? Cosa manca all' installazione di VB6?
>
>> Per quello che ne so io VB6 supporta fino ad Office 97.

[snip]

Però...

Dao 3.6 con Jet 4.0 supportano fino ad Access 2000.

Inserisci le librerie nel progetto e prova questo codice:

[paste]

Option Explicit
Dim strUser As String
Dim strPassword As String


Private Sub cmdConnect_Click()

Dim cn As New Connection
Dim rs As Recordset

strUser = txtUser
strPassword = txtPassword

'Create the connection.
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password=" & _
<password> & ";" & "User ID=" & <utente> & ";" & _
"Data Source=<il tuo db MDB>;Persist Security Info=True;" & _
"Jet OLEDB:System database=<il ******* MDW per le credenziali>"


'Create recordset reference and set its properties.
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic

rs.Open <tabella>, cn, , , adCmdTable

End Sub


[/paste]




--
GbC
www.gbc.uno
GbC 1 Set 2016 09:43
Option Explicit
Dim strUser As String
Dim strPassword As String


Private Sub cmdConnect_Click()

Dim cn As New Connection
Dim rs As Recordset

'Create the connection.
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password=" & _
<password> & ";" & "User ID=" & <utente> & ";" & _
"Data Source=<il tuo db MDB>;Persist Security Info=True;" & _
"Jet OLEDB:System database=<il ******* MDW per le credenziali>"


'Create recordset reference and set its properties.
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic

rs.Open <tabella>, cn, , , adCmdTable

End Sub




--
GbC
www.gbc.uno
Gulp® 1 Set 2016 12:33
Il 31/08/16 18:51, Greg ha scritto:
> Il 26/08/2016 11:11:25 Gulp® ha scritto:
>> Ho installato VB6 in Win 10, tutto bene tranne un particolare, se
>> lancio un programma dentro all'IDE, questo funziona se basato su
>> tabelle office 97, invece non parte e dà errore se basato su tabelle
>> office 2000.
>> Come posso rimediare? Cosa manca all' installazione di VB6?
>
> Allora provo a suggerirti di vedrificare se nel progetto c'è qualche
> datacontrol impostato sulla versione 97.
> La proprietà Connect di default è su Access, devi selezionare Access 2000.
> In questo modo si aprono i 97 e i 2000 (forse pure 2003) sia da codice
> che da controllo.

Si, grazie.
Conoscevo questa opzione di impostazione... comunque andando a
verificare ho notato che benché sia così scritto (Access 2000) in quanto
l'applicazione era stata sviluppata quando ancora ero sotto Win XP, se
però provo ad aprire il relativo drop-box della proprietà nell'elenco
trovo solo Access e altri (dBaseIII, dBaseIV, dBaseV... ecc. )e non già
Access 2000....a testimoniare che effettivamente in fase di
installazione, qualcosa è andato storto e mancano alcuni driver relativi
proprio ad Access 2000.
Però è evidente che sul computer tali driver sono presenti in quanto
nella forma compilata tutto fila liscio e vengono trovati...
Come posso "insegnare", "indicare" a VB6 dove si trovano?

Hai idea di come potrei fare?

> Poi vai su riferimenti e accertati di avere seleziona la libreria
> Microsft Dao 3.6.

Fatto.

Sempre grazie, ciao.


--
Gulp®
--
"Partimque figuras retulit antiquas, partim nova monstra creavit."
(La Metamorfosi - Ovi*****)
Greg 1 Set 2016 14:30
Il 01/09/16 12:33:07 Gulp® ha scritto:

> Come posso "insegnare", "indicare" a VB6 dove si trovano?
>
> Hai idea di come potrei fare?

Se non ricordo male, nel cd di VB6 c'è una cartella, con alcune cose esterrne
al vb, una griglia, il crystal e appunto
il DAO 3.6 con dentro un setup o altro per installarlo separatamente immangino,
non l'ho mai provato.
Poi c'è un'altra cartella dentro cui guardare, credo Controls, da vedere

--
Greg

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio Visual Basic di Microsoft | Tutti i gruppi | it.comp.lang.visual-basic | Notizie e discussioni visual basic | Visual basic Mobile | Servizio di consultazione news.