Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    nuova colonna in db da codice

    Ciao a tutti.
    Ho la necessità di creare da codice una nuova colonna in una tabella esistente di un db in access ma non ho idea di come si faccia. Qualcuno puòà darmi una mano o aiutarmi a trovare un qualche esempio? (sperando sempre si possa fare! )

    Grazie Elisa

  2. #2
    Le proprietà che vengono utilizzate più spesso sono le seguenti:


    AUTO_INCREMENT >> Per i campi che devono svolgere il ruolo di identificatori;

    NULL >> Se impostiamo questa proprietà, il campo dovrà essere sempre riempito;

    NOT NULL >> Così facendo il campo potrà anche essere vuoto;

    PRIMARY_KEY >> Questa proprietà si assegna al campo contenente l’identificatore, facendolo diventare chiave primaria della tabella;

    TEXT >> Per i campi in cui dobbiamo semplicemente scrivere;

    TYNINT >> Per i campi di tipo numerico;

    DATE >> Ovviamente per i campi con formato data;

    TIME >> Per i campi con formato tempo (hh:mm:ss);

    DECIMAL >> Per quei campi numerici che devono essere decimali (10,0);

    A questo punto, dopo aver capito quali sono le proprietà dei campi, possiamo procedere nella creazione della nostra tabella; la stringa SQL che dobbiamo eseguire è la seguente:


    CREATE TABLE 'nome_della_tabella'(
    'nome_campo1' proprietà_campo1,
    'nome_campo2' proprietà_campo2,
    'nome_campo3' proprietà_campo3,
    );


    Naturalmente prima di eseguire la query, bisogna effettuare la connessione con il DataBase in cui vogliamo inserire la tabella; inoltre possiamo inserire tutti i campi che ci serviranno, indipendentemente da quanti essi siano;
    Ecco di seguito riportato un esempio:


    CREATE TABLE 'Rubrica' (
    'idcontatto' TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    'nome' TEXT NOT NULL,
    'cognome' TEXT NOT NULL,
    'indirizzo' TEXT NOT NULL,
    'telefono' TYNINT NOT NULL
    'data' DATE NOT NULL
    );

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ok, chiarissimo ti ringrazio. Solo un dubbio, anche se la tabella già esiste e già contiene delle informazioni si usa CREATE TABLE? Insomma, anche se la colonna che mi serve la devo solo accodare a quelle già esistenti?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non so se ti serva, non l'ho mai usato per questo scopo, ma sembra che funzioni:
    codice:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim adoCn As New ADODB.Connection
            adoCn.Open(StringaConnessione)
    
            Dim cat As New ADOX.CatalogClass
            cat.ActiveConnection = adoCn
    
            Dim t As ADOX.Table = cat.Tables("campi")
            t.Columns.Append("xyz", ADOX.DataTypeEnum.adWChar, 50)
    
            adoCn.Close()
    
        End Sub
    In pratica creo un campo testo xyz di 50 caratteri SENZA DISTURBARE EVENTUALI DATI IMMESSI NEGLI ALTRI CAMPI

    Pietro

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Grazie mille!

    Ciao Elisa

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    So che sono passati un po di giorni ma mi servirebbe una mano.

    Se uno la query nn mi funziona perchè access mi dice alert non lo riconosce; se uso lo script mi dice che adox non è definito e non sono riuscita a capire se va importato qualcosa affichè funzioni.

    Cmq, riassumo quello che devo ottenere: devo aggiungere da codice una colonna numerica (intero) con valore predefinito = 0 all'interno di una tabella esistente db access, senza intaccare gli altri dati già contenuti nella tabella stessa.

    Grazie Elisa

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    per ADOX

    nei references, Aggiungi riferimento/Com/

    e scegli:
    Microsoft ADO Ext. 2.7 for DDL and Security
    Pietro

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    riferimento aggiunto ma non fuzia lo stesso. Mi da il seguente errore:

    Dim adoCn As New ADODB.Connection
    adoCn.Open(StringaConnessione)
    Dim cat As New ADOX.CatalogClass
    cat.ActiveConnection = adoCn
    Dim t As ADOX.Table = cat.Tables("T_Config")
    t.Columns.Append("Pag", ADOX.DataTypeEnum.adInteger)
    adoCn.Close()

    dove StringaConnessione è la mia striga già usata svariate volte

    errore su cat.ActiveConnection = adoCn:
    Interfaccia non supportata.

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elisa_rm74
    riferimento aggiunto ma non fuzia lo stesso. Mi da il seguente errore:

    Dim adoCn As New ADODB.Connection
    adoCn.Open(StringaConnessione)
    Dim cat As New ADOX.CatalogClass
    cat.ActiveConnection = adoCn
    Dim t As ADOX.Table = cat.Tables("T_Config")
    t.Columns.Append("Pag", ADOX.DataTypeEnum.adInteger)
    adoCn.Close()

    dove StringaConnessione è la mia striga già usata svariate volte

    errore su cat.ActiveConnection = adoCn:
    Interfaccia non supportata.
    Non hai pensato di aggiungere pure un riferimento a:

    Microsoft ActiveX DataObject x.y Library
    Pietro

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.