Aggiungi campo in BE direttamente da FE: errore di sintassi nella definizione del campo

Anonimo
2020-07-29T17:16:54+00:00

In una funzione che aggiunge un campo ad una tabella, eseguendo passo passo il debug Access mi dà errore 3292: Errore di sintassi nella definizione del campo (vedi immagine). Lo trovo strano, perché ho usato lo stesso codice anche per un altro campo, ed è andato tutto bene. Se invece chiudo e apro il programma, il messaggio di errore è il 3078 (vedi sotto). Mi sapete dire dove sto sbagliando?

Errore 3078:

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2020-07-30T11:52:25+00:00

Ciao Francesco,

la parola "NOTE" che hai utilizzato come nome del campo fa parte dell'elenco delle parole riservate che non dovrebbero essere utilizzate: 

List of reserved words in Access 2002 and in later versions of Access

Quando ti capita di utilizzare una di queste parole è buona norma racchiuderle tra parentesi quadre. Di conseguenza modifica nel tuo codice l'istruzione di in questo modo:


strSql = "alter table Tipi_Modulo add column [NOTE] text;"


Nel caso non volessi creare un campo testo pari alla lunghezza massima (255 caratteri) potresti aggiungere anche un opportuno dimensionamento del campo. A esempio:


strSql = "alter table Tipi_Modulo add column [NOTE] text(50);"


David

La risposta è stata utile?

3 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2020-07-30T08:00:06+00:00

    Provo a vedere se riesco a condividere il BE e l'FE:  QUI

    Nel BE c'è una tabella, nell'FE c'è una macro autoexec e un modulo che TENTA di aggiungere un campo. Gli errori sono quelli descritti sopra...

    Grazie a chiunque mi dia un'indicazione!

    Francesco Salvagnini

    La risposta è stata utile?

    0 commenti Nessun commento