Newsgroup: it.comp.lang.visual-basic
Titolo: Non so più dove sbattere la testa

        Ciao a tutti.
E' tutto il WE che sto cercando di risolvere questo problema ma non trovo
niente di interessante, online.
Sto sviluppando il mio primo SW in VBasic e ho un insormontabile problema,
l'errore
"Formato di database "c:\bla\bla.mdb" non riconosciuto"
Ho inserito un controllo Data1 che "punta" a bla.mdb (in DataBaseName)
Appena provo a cambiare la proprietà RecordSource, spunta l'errore di cui
sopra.
Giuro non so più cosa fare. Sulla KB di Microsoft c'è scritto che il
problema è stato risolto col Service Pack 5 di Visual Studio che ho
prontamente scaricato. Nada. Zero. L'errore persiste.
Vi prego aiutatemi.
ho WinXP se può interessare,
VBasic PRO 6
Grazie,
Bd

 prontamente scaricato. Nada. Zero. L'errore persiste.
cancella il controllo e rimettillo nel form

 prontamente scaricato. Nada. Zero. L'errore persiste.
Se non è quello cui ti riferisci:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q257780&

 Ho inserito un controllo Data1
Consiglio:
visto che sei agli inizi , cerca di non legarti ai controlli Data,
sembrano alleggerire il lavoro ma complicano la vita.
Per un primo approccio utilizza il wizard:
inserisci form > creazione guidata form dati vb > ......... al tipo di
associazione seleziona: Codice ADO
Se scegli il record singolo VB propone di legare il codice ai controlli:
 Dim oText As TextBox
  'Associa le caselle di testo al fornitore di dati
  For Each oText In Me.txtFields
    Set oText.DataSource = adoPrimaryRS
  Next
consiglio:
supera anche questa associazione ed alimenta le varie caselle da codice
associando il campo del recordset ala Text
giuseppeD

 ho WinXP se può interessare,
Dammi alcuni indizi:
1) Il DB è Access 97 o 2000?
2) Hai Access sul PC?
3) Hai installato Jet4.0 sul PC?
Ciao
Alberto

 1) Il DB è Access 97 o 2000?
eh eh eh! capito dov'era il problema!!!
salvando il DB in Access97, tutto si è risolto!! :O
Sono un po' una capra probabilmente,
ma è l'unico modo che ho avuto per eliminare l'errore...
e il file occupa pure meno!
Comunque si presenta ora un problema strano.
Sempre la mia stupida agendina :)...
ho messo per ogni TextBox un controllo DataSource Data1
e in DataField il campo corrispondente nel DB, per esempio
Nome, Indirizzo....
Bene. Avvio il programma. Funziona! Clicco il pulsante Cerca
che racchiude questa proprietà:
____________
Private Sub Command1_Click()
'Cerca un contatto nel DB
Dim NomeDaCercare As String
NomeDaCercare = InputBox$("Immettere il nome da cercare: ", "Ricerca nel
Database per nome")
'Se il nome da cercare è diverso da null allora...
If NomeDaCercare <> "" Then
Data1.Recordset.Index = "Nominativo"
Data1.Recordset.Seek "=", NomeDaCercare
If Data1.Recordset.NoMatch Then
Data1.Recordset.MoveFirst
Data1.Refresh
'Il nome cercato non e stato trovato
MsgBox "Spiacente, il nome non risulta nel DB.", vbInformation, Me.Caption
End If
End If
End Sub
____________
Digito un nome qualsiasi, e che esista o no, compare l'errore...
Errore di runtime 3015
Nominativo non è un indice di questa tabella.
Esaminare l'insieme Indexes dell'oggetto
TableDef per determinare i nomi di indice validi.
Boh... eppure "Nominativo" me lo suggerisce lui
a tendina vicino al controllo DataField.
Che succede?! :(( Sai spiegarlo? ;)
Grazie mille a tutti per l'aiuto!
Bd

 a tendina vicino al controllo DataField.
Nella 'tendina' compaiono tutte le colonne del recordset, non gli indici.
Non tutte le colonne sono indicizzate.
Puoi risolvere tutto usando il Filter del recordset, anzichè il Seek.
Ciao
Alberto

 Puoi risolvere tutto usando il Filter del recordset, anzichč il Seek.
Non ho purtroppo l'insieme MSDN... puoi esser piů esauriente?
Grazie mille davvero!
Bd

 Non ho purtroppo l'insieme MSDN...
Beh, c'è anche MSDN On Line...

 Non ho purtroppo l'insieme MSDN... puoi esser più esauriente?
Non credo che sia consentito postare tutta la documentazione del Filter.
MSDN viene consegnato assieme al pacchetto di VB. Mi sembra strano che tu
non l'abbia. E comunque c'è 
msdn.microsoft.com
Ciao
Alberto

 non l'abbia. E comunque c'è 
msdn.microsoft.com
Non l'avevo semplicemente installato evidentemente
nell'installazione iniziale. Sorry. Provveduto.
Grazie ancora, non prendertela. :)
Bd

 (credo!) quale provider usare! :P
Però nella casellina Connect e in quella DefaultType qualcosa c'è, o
sbaglio?
Alberto

 sbaglio?
Ho dato un'occhiata. C'è Connect "Access 2000" (era solo
Access prima dell'installazione) e in DefaultType c'è
2 - UseJet...
Adesso provo a rimodificare il DB in A2000 e vedo se genera errori...
danke,
Bd

> Adesso provo a rimodificare il DB in A2000 e vedo se genera errori...
Nessun errore Alberto.
grazie infinite.
Bd