Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Feldeigenschaft "Eingabe erforderlich" per SQL löschen?

Begonnen von peter4400, August 19, 2024, 10:28:02

⏪ vorheriges - nächstes ⏩

peter4400

Hi,
weiß jemand, ob es einen Access (2016) SQL Befehl gibt, um die Feldeinschränkung "Eingabe erforderlich" zu löschen?

PhilS

Theoretisch sollte das folgenden funktionieren:
ALTER TABLE tblEineTabelle ALTER COLUMN EineSpalte Varchar(50) NULL;
Praktisch wird das SQL zwar ohne Fehler ausgeführt, aber der NOT NULL Constraint wird nicht entfernt. (Analoges Hinzufügen eines NOT NULL Constraints funktioniert aber!)

Aus meiner Sicht ist dieses Verhalten ein Bug in Access/ACE. Ich habe das gerade an Microsoft gemeldet. 
Erfahrungsgemäß werden SQL-Bugs dieser Art leider mit eher niedriger Priorität behandelt.

Wenn die Funktion für dich wichtig ist, solltest du das Problem ebenfalls an Microsoft melden. Ein Weg der allen Benutzern offen steht ist innerhalb von Access: "Help" - "Feedback" - "Report a problem".
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

peter4400

danke, dann war ich immerhin nicht zu blöd, ich hatte schon alle möglichen Varianten ausprobiert die Google ausgespuckt hat, es gibt wohl auch "DROP CONSTRAINT", aber da sagt er dann "CHECK Beschränkung nicht vorhanden"

PS: Euer captcha ist immer der Horror, brauche selten so viele anläufe...

MzKlMu

Hallo,
ZitatPS: Euer captcha ist immer der Horror, brauche selten so viele anläufe...
Das ist dem z.Zt. erhöhten Spam Aufkommen geschuldet.
Wenn Du genügend Beiträge hast (5 glaube ich) hört das auf.
Gruß Klaus

PhilS

Zitat von: peter4400 am August 19, 2024, 11:26:19es gibt wohl auch "DROP CONSTRAINT"
Richtig, aber das funktioniert nur bei benannten Contstraints wie CHECK oder FOREIGN KEY.
Ein NOT NULL Constraint ist eine Eigenschaft der Spalte und hat keinen Namen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

#5
Wenn es nicht unbedingt SQL (DDL) sein muss: Über DAO bzw. ADOX kann man gleichwertige Anweisungen erstellen und man kommt auch an Feldeigenschaften ran.
Als Einstieg: Strukturänderungen an der Datenbank

With db.TableDefs("tblXY").Fields("fldabc")
   If .Required Then .Required = False
End With
Zum Prüfen (Fehlervermeidung z.B. wegen mehrfachen Ausführens) stellt DDL keine Methoden bereit. Daher muss man sowieso auf VBA zurückgreifen. Insofern muss man für Strukturänderungen generell breiter in den verwendeten Methoden aufgestellt sein.
Mit freundlichem Glück Auf!

Eberhard