Oppure

Loading
19/06/11 12:00
fusebyte
Avrei bisogno di sapere o avere indicazioni su come creare un database MDB
cliccando su un commandbutton interno alla mia applicazione, creato appositamente
per questo scopo.
So che ci sono codici e codici di esempio,ma tutto quello che trovo è inerente
ad un MDB gia creato con Access.
Io invece dovrei crearlo.

Grazie per eventuali consigli suggerimenti e soluzioni :-)

Ciao
aaa
19/06/11 12:15
riddick
In pratica, da quanto ho capito, vorresti creare un nuovo database e non accedere a uno già fatto?

EDIT:
Visto che ci troviamo ti scrivo il codice per creare il DB^^
Private Sub Command1_Click()
Dim cat As New ADOX.Catalog
    cat.Create "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='C:\miodatabase.mdb'"
End Sub

In questo modo vai a creare miodatabase in C:
Credo sia questo che stai cercando^^
Ultima modifica effettuata da riddick 19/06/11 12:22
aaa
19/06/11 17:50
fusebyte
Si non in C ma nella cartella dell'applicazione,quindi penso che
Source='AppPath & \miodatabase.mdb' dovrebbe andare
Pero' il problema è che il database ha una struttura e questa devo impostargliela io.
Per esempio il database deve avere una tabella "dati"
e 2 campi , "miovalore" e "stringa",
Cosa devo aggiungere a quel codice?


cmq,Grazie.Ciao
aaa
19/06/11 18:25
riddick
allenbrowne.com/…
Qui credo ci sia tutto ciò che ti serve :)
E comunque AppPath & mettilo fuori dalle virgolette ;)
aaa
20/06/11 10:58
fusebyte
Grazie per il link, per il resto la fai un po' troppo facile.

Allora mi sono messo un po' a lavorare e subito primo intoppo

Error Run-Time 2147467259(80004005)

Private Sub cmdCreaMDB_Click()
Dim objConn, objRS, strConn, strSql

   ' Creo l'oggetto Connection
  Set objRS = CreateObject("ADODB.Recordset")
  Set objConn = CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AppPath & \Database\Dati.mdb"
    objConn.Open strConn

' Impo la query per estrarre i dati dai 2 campi
  strSql = "SELECT Dati, Stringa FROM My"

  ' Eseguo la query
  Set objRS = objConn.Execute(strSql)
  ' stampo il numero campi e il nome campi
        Winlog = Winlog & ("N° campi: " & objRS.Fields.Count & " ") & vbCrLf
    For i = 0 To objRS.Fields.Count - 1
        Winlog = Winlog & "[" & (objRS.Fields(i).Name & "]  ")
    Next
 Print
' ciclo tutti i record contenuti in objRS e li stampo in WinLog
  Do While Not objRS.EOF
    Winlog = Winlog & objRS("Dati") & "    " & objRS("Stringa") & "" & vbCr
 Winlog = Winlog & objRS("Dati") & "    " & objRS("Stringa") & ""
' Sposto il puntatore del recordset sul prossimo record
    objRS.MoveNext
  Loop

' Chiudo gli oggetti
  objRS.Close
  Set objRS = Nothing
  objConn.Close
  Set objConn = Nothing
'Call addDatiinMDB
End Sub



Partendo dal fatto che no ho ancora installato ACCESS, l'errore Run-Time
puo' derivare da questo fatto o ci sono errori nel codice che,come al solito,non vedo?
Cmq non crea il database MDB.
Premetto che non l'ho installato di proposito, per vedere se riuscivo a far
funzionare tutto senza avere ACCESS.
forse c'è qualcosa da attivare nei "componenti" ?
Sara' possibile?

Ciao
Ultima modifica effettuata da fusebyte 20/06/11 11:21
aaa
20/06/11 11:18
gibra
Un consiglio: lascia perdere CreateObject() e tutto il resto.
Ti stai incasinando la vita per niente, e non puoi sfruttare l'intellisense.

Inoltre, il codice segnalato da riddick non va assolutamente bene perchè funziona solo nell'ambiente di progettazione MSAccess, ovvero è indispensabile avere MSAccess installato.

Vai qui
visual-basic.it/…

poi cerca e scarica l'esempio ADOX
(il download richiede di essere un utente registrato).

Il progetto è completo e fatto benissimo, troverai tutto quello che ti serve (e anche di più;).


aaa
20/06/11 11:22
fusebyte
Grazie Gibra, volo.. sperando che mi arrivi la pass in email, ci sta mettendo un po' troppo e non si vede niente.:-))

Ciao
Ultima modifica effettuata da fusebyte 20/06/11 11:51
aaa
20/06/11 20:17
fusebyte
Bel problema,non mi arriva la pass in email.
Strano , di solito l'invio è immediato.
aaa