Re: DEFAULT Wert nachträglich über SQL ändern
From: Henry Habermacher [MVP Access] (DontSpamHenry_at_psp-online.com)
Date: 10/15/04
- Next message: Helmut Buchholz: "Inkonsistenzabfrage ACC200"
- Previous message: Philipp Bönisch: "Re: Wie erkennen, mit welcher Access-Version Datenbank erstellt wu"
- In reply to: Claus Anderwald: "Re: DEFAULT Wert nachträglich über SQL ändern"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 15 Oct 2004 17:22:01 +0700
Hallo Claus
Claus Anderwald <ClausAnderwald@discussions.microsoft.com> wrote:
> Die Default Eigenschaft über VB und DAO zu ändern funktioniert, nur
> soll in Zukunft alles über SQL Script laufen (u.a. weil verschiedene
> Datenbanksysteme genutzt werden sollen, nur hält sich Access leider
> nicht an einige Standards). Ich poste trotzdem mal ein kleines
An welche Standards sollte sich Access denn halten? Es ist nicht Access,
sondern Jet4, was Du da ansprichst. Access ist nur eine Hülse um Jet4
und andere Datenbank Manager. Wenn etwas vom SQL Server nicht
unterstützt wird, spricht man auch nicht davon, dass Access sich nicht
an einen Standard hält, auch wenn Access genausogut als Hülse für den
SQL Server verwendet werden kann. Ich glaube du hast da ein kleines
Durcheinander.
> Beispiel, vielleicht mache ich ja an einer Stelle einen Fehler:
>
> Dim cn As ADODB.Connection
> Dim sql_command As String
> Dim connectionstring As String
>
> connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\Temp\db_test.mdb;Mode=ReadWrite|Share Deny None;Persist
> Security Info=False"
> sql_command = "ALTER TABLE [tbl1] ALTER COLUMN [Wert1] SET DEFAULT
> (10);"
>
> Set cn = New Connection
> cn.Open connectionstring
>
> cn.Execute (sql_command)
> For i = 0 To cn.Errors.Count - 1
> MsgBox cn.Errors(i).Description
> Next i
>
>
> Also wie gesagt, es gibt keinen Fehler, nur wird die Änderung leider
> nicht durchgeführt.
Wo ist denn Dein ErrorHandler? Ich sehe nichts. Wie schliesst Du darauf,
dass es keinen Fehler gibt?
> Gibt es vielleicht die Möglichkeit, auch in Access mit CONSTRAINTS bei
> Defaults zu arbeiten wie bei SQL Server 2000? Also wenn man beim
> Anlegen der Spalte
> [Wert1] INTEGER CONSTRAINT [DF_test] DEFAULT (0)
> verwendet gibt es in Access leider einen Fehler wegen der CONSTRAINT
> Anweisung.
Die SQL Syntax von Jet hat - wie bereits gesagt - nichts mit Access zu
tun. Suche mal in der OH von Jet nach Default. Ich glaube, das gibt's
nicht. Die Syntax hat auch nichts mit "vielleicht" zu tun, die ist genau
definiert.
Hier die Syntax von Constraints aus der Jet4 OH (von A2003, (c)
Microsoft):
Single-field constraint:
CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreigntable [(foreignfield1, foreignfield2)]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}
Multiple-field constraint:
CONSTRAINT name
{PRIMARY KEY (primary1[, primary2 [, ...]]) |
UNIQUE (unique1[, unique2 [, ...]]) |
NOT NULL (notnull1[, notnull2 [, ...]]) |
FOREIGN KEY [NO INDEX] (ref1[, ref2 [, ...]]) REFERENCES
foreigntable [(foreignfield1 [, foreignfield2 [, ...]])]
[ON UPDATE CASCADE | SET NULL]
[ON DELETE CASCADE | SET NULL]}
Da steht halt nichts von Default. Hingegen findest Du das DefaultValue
Property in der DAP OH. Das werdet ihr daher wohl kaum über DDL machen
können. Wenn's künftig nur noch über DDL Statements laufen soll, müsst
ihr halt auf die Default Values verzichten (was IMHO sowieso richtig
ist, weil man die Anwendung und die Daten nicht mischen sollte und der
Defaultvalue was ist, was in der Anwendung genausogut beim Einfügen
eines neuen Datensatzes gesetzt werden kann)
Gruss
Henry
-- Keine E-Mails auf Postings in NGs senden! Don't send e-mails to postings in newsgroups! KB: http://support.microsoft.com/default.aspx FAQ: http://www.donkarl.com/AccessFAQ.htm OH: Online Hilfe von Microsoft Access (Taste F1) Downloads: http://www.dbdev.org
- Next message: Helmut Buchholz: "Inkonsistenzabfrage ACC200"
- Previous message: Philipp Bönisch: "Re: Wie erkennen, mit welcher Access-Version Datenbank erstellt wu"
- In reply to: Claus Anderwald: "Re: DEFAULT Wert nachträglich über SQL ändern"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|