Avatar billede naebet Nybegynder
01. maj 2003 - 11:03 Der er 6 kommentarer og
1 løsning

Tabeloprettelsesforespørgsel

Hej Jeg har en Tabeloprettelsesforespørgsel problemet er at jeg gerne vil have at standardværdien i et felt er 0. Hvordan kan jeg styre det?

Mikael
Avatar billede jkrons Professor
01. maj 2003 - 11:15 #1
Den SQL-standard Access baserer sig på giver ikke mulighed for at indlægge standardværdier i forbindelse med Tabeloprettelse.
Avatar billede ereoljo Nybegynder
01. maj 2003 - 11:42 #2
Jkrons har ret man kan ikke lægge standardværdier ind i en tabeloprettelse, du bliver nød til at kode dig ud af det & så der igennem kører en sql sætning  som ligner nedenstående. Se eventuelt nederste link for flere oplysninger.

CREATE TABLE tblCustomers (
  CustomerID INTEGER CONSTRAINT PK_tblCustomers
      PRIMARY KEY,
  [Last Name] TEXT(50) NOT NULL,
  [First Name] TEXT(50) NOT NULL,
  Phone TEXT(10),
  Email TEXT(50),
  Address TEXT(40) DEFAULT Unknown)
Note  The DEFAULT statement can be executed only through the Jet OLE DB provider and ADO. It will return an error message if used through the Access SQL View user interface.


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acintsql.asp


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc2k/html/acintsql.asp
Avatar billede tma_oksboel Nybegynder
01. maj 2003 - 13:18 #3
Hvis du har brug for en eller anden default værdi for et felt, kan du gøre følgende:
I det felt hvor en defaultværdi kan komme på tale f.eks. Løntrin kunne et felt se således ud:
Løntrin: IIF(isnull(Løntrin);0;Løntrin)

Hvis feltet er null, får den ny post værdien 0, eller det aktuelle løntrin.

Torben
Avatar billede mugs Novice
01. maj 2003 - 18:11 #4
Flg. kode opretter et nyt felt, og angiver samtidig en standardværdi:

Dim SQL1 As String
Dim db As DAO.Database
Set db = CurrentDb
Dim tbl As TableDef
SQL1 = "Alter Table mintabel add nytfelt Text"
DoCmd.RunSQL SQL1
MsgBox "Funktionen er udført."
Set tbl = db.TableDefs("mintabel")
tbl.Fields("nytfelt").DefaultValue = "daw do'"
Avatar billede keil Nybegynder
09. maj 2003 - 14:18 #5
Mener du en standardværdi (altid = =) eller en defaultværdi (lig med 0 hvis feltA ikke er udfyldt).

Standardværdi: Så skriver du følgende i "Field" Beløb: 0, hvor feltet kommer til at hedde "Beløb" og hvor indholdet altid bliver 0.

Defaultværdi: Så skriver du følgende i "Field" Beløb: , derefter højreklikker du i dette felt og vælger generer. Der vælger du funktioner og funktionen "Iff", og her kan du skrive IFF([feltA]>0;[feltA];0). Find feltA ved at gå ind i den pågældende tabel, mens du stadig er i genereringen.

Så skulle det virke !
Avatar billede keil Nybegynder
09. maj 2003 - 14:19 #6
(altid = 0)
Avatar billede naebet Nybegynder
19. maj 2003 - 15:54 #7
jeg fik ikke brug for det, men ereoljo  får point for det bedste og første bud ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester