Newsgroup: it.comp.lang.visual-basic
Titolo: aggiungere ADOX a progetto

Qualcuno mi può aiutare ?
Avrei bisogno di distribuire un aggiornamento del mio piccolo programma.
Il problema è che devo aggiungere un campo ad un tabella del db che ho già
distribuito insieme al programma compilato con il riferimento  solamente ad
Ado. Siccome  sembra che siano necessari i metodi di ADOX per poter
aggiungere tabelle,campi,ecc.ecc...., come faccio a far funzionare
l'eseguibile ricompilato sui Pc dove il programma è già installato ?
C'è un altra soluzione per poter creare un campo ?
Grazie in anticipo.

 ha scritto nel messaggio
news:MdyC8.34179$US3.7...@twister1.libero.it...

Ti invio uno stralcio di codice che potrebbe esserti d'aiuto:
Option Explicit
Dim Db As Database
Dim tblSchede As TableDef
Private Sub cmdEsci_Click()
    Unload Me
End Sub
Private Sub cmdUpdate_Click()
    Set Db = OpenDatabase(App.Path & "\dbMcGest.mdb")
    Set tblSchede = Db.TableDefs("tblSchede")
    With tblSchede
        .Fields("Modalita").AllowZeroLength = True
    End With
    Db.Close
End Sub
Questo codice imposta la proprietà dei campi in modo che possano errere
lasciati vuoti.
L'ho usato per correggere un piccolo bug in un PC di un cliente che
ovviamnete non aveva access installato.
Spero possa darti l'idea giusta.
Ciao
        Sharkman

 ha scritto:

Con l' istruzione SQL:  ALTER TABLE NomeTabella ADD COLUMN etc.
Guarda su MSDN o piu' precisamente qui:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/ht
ml/output/F1/D2/S5A31A.asp
Oppure puoi usare ADOX come giustamente pensavi. In questo caso pero'  per
l' aggiornamento dovrai creare una patch o roba simile. Qui non ti posso
essere di grande aiuto.
Ciao
Michele

 ha scritto nel messaggio
news:MdyC8.34179$US3.7...@twister1.libero.it...

l'orologio please....

 ha scritto nel messaggio
news:MdyC8.34179$US3.7...@twister1.libero.it...

devi lavorare di SQL
io in quasi tutti i progetti lascio una piccola procedura che mi ha risolto
molti problemi!
se vuoi te la posto:
Un form
4 tasti
caption:
command1=test connessione
command2=apri connessione
command3=Esegui SQL
command4=pulisci listBox
1 textbox multi line
1 listbox per i risultati
1 label
Codice da incollare:
Option Explicit
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim tExec As New ADODB.Command
Private Sub Command1_Click()
'controllo test connessione
On Error Resume Next
If Cattiva.State = adStateOpen Then
    Label1.Caption = "Connessione OK"
End If
On Error GoTo 0
End Sub
Private Sub Command2_Click()
On Error Resume Next
Set Cn = apriConnessione 'una funzione semplice che mi apre il database
richiesto via ODBC o OLEDB
On Error GoTo 0
End Sub
Private Sub Command3_Click()
On Error Resume Next
tExec.ActiveConnection = Cn
tExec.CommandText = Trim(Text1.Text)
MsgBox Trim(Text1.Text)
tExec.Execute
If Err = 0 Then
    List1.AddItem "Comando processato!"
Else
    List1.AddItem Err.Description
End If
On Error GoTo 0
End Sub
Private Sub Command4_Click()
List1.Clear
End Sub
Private Sub Form_Load()
    Set Cn = apriConnessione
End Sub
logicamente è un po grezzo ma a me va più che bene...ora supponendo che
abbia un DB chiamato Test.mdb e che contenga una tabella chiamata
Anagrafica....
Prova a far eseguire:
ALTER TABLE Anagrafica  ADD COLUMN ColonnaAggiunta CURRENCY
eh eh!
Ciauz!
p.s.
tra l'altro funziona anche come programmino autonomo!!!!!provare per credere
p.p.s.
io uso ADO 2.7 e winXP prof
ri ciauz

 ha scritto nel messaggio
news:%xyC8.34327$US3.7...@twister1.libero.it...

Scusa...., grazie.

 ha scritto nel messaggio
news:MdyC8.34179$US3.7...@twister1.libero.it...

Come al solito ho pensato alle cose più complicate
quando "ALTER TABLE......ADD COLUMN....." può bastare, per il momento.
Grazie a tutti.