Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    vb6 - rinomina campo ado

    Quale comando devo usare per rinominare in fase di esecuzione un campo presente in un Database:

    ho provato con il comando
    'ALTER TABLE nometabella RENAME COLUMN campo1 TO campo2'
    ma mi dice che c'è un errore nell'istruzione.

    N.B.:il comando in questione l'ho ricercato in un contesto Visual Fox

    Grazie
    Angelo

  2. #2
    Più che da ADO credo dipenda dal db che usi

    Ciao

  3. #3
    E' un semplice DataBase Access 2000.
    Inoltre il campo che vado a rinominare non è chiave primaria.
    Angelo

  4. #4
    il codice è questo:


    Dim PathDb As String
    Dim DbConnDati As ADODB.Connection
    Dim StringConn As String
    Dim Cmd As ADODB.Command


    Set DbConnDati = New ADODB.Connection
    Set Cmd = New ADODB.Command

    PathDb = PathDatabase
    DbConnDati.CursorLocation = adUseClient
    StringConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & PathDb & ";"
    DbConnDati.Open StringConn

    Set Cmd.ActiveConnection = DbConnDati
    Cmd.CommandText = "ALTER TABLE " & NomeTabella & " RENAME COLUMN " & NomeCampo & " TO " & NewNomeCampo
    Cmd.CommandType = adCmdText
    Cmd.Execute


    Set Cmd = Nothing
    Set DbConnDati = Nothing

    il nome del campo inoltre non contiene spazi.


    ma al momento dell'execute mi genera un errore del tipo:
    Errore di sintassi nell'istruzione ALTER TABLE
    Angelo

  5. #5
    Ma sei sicuro di poterlo fare da VB ? Mi spiego, secondo me ticostringe a fare il giro di creare un nuovo campo con ADD COLUMN, copiarci i dati dal vecchio campo al nuovo, e poi eliminare il vecchio campo con DROP COLUMN. Credo che su un campo esistente di Access tu possa cambiarne il tipo o la dimensione con ALTER COLUMN, ma non rinominarlo.
    Ripeto, non ne sono sicuro, ma guardando nell'Help di Access ho questo sospetto

    Ciao

  6. #6
    quindi tu mi consigli di rigenerare un nuovo campo, per poi eliminare quello vecchio..

    per i dati devo fare una query di aggiornamento!
    Angelo

  7. #7
    codice:
    UPDATE Tabella SET camponuovo = campovecchio
    Non è che lo consiglio (perchè comunque devi fare 3 cose invece che 1), è che temo sia l'unica soluzione...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.