16. september 2001 - 21:04Der er
6 kommentarer og 1 løsning
Standardværdi i ét tabelfelt, ud fra et andet felts tekstlængde
Jeg troede jeg kunne sætte en standardværdi i feltet NameLength som =Len([Word]) hvor [Word] er et andet felt i samme tabel - men det nægter access2000 - hvorfor? - Hvordan skal jeg gøre alternativt hertil?
Fejlen der kommer op er: \'Databasemotoren genkender hverken feltet \"word\" i valideringsudtrykket eller standardværdien i tabellen Words\'
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg arbejder i Access97 og kan her foreslå flg. løsning, idet jeg ikke mener du i tabellens standardværdi kan referere til andre felter. Flg. kode måler om antal karakterer i feltet \"tekst1\" er større end 15, hvis betingelsen er opfyldt får du en MagBox. Du kan så erstatte Msgbox med noget andet.
Private Sub Kommandoknap4_Click() Dim tekst As String tekst = tekst1 If Len(tekst1) > 15 Then MsgBox Prompt:=\"Der er mere end 15 tegn i sætningen\" Else MsgBox Prompt:=\"Der er mellem 0 og 15 tegn i sætningen\" End If End Sub
Hvis det er rigtigt, at det ikke kan lade sig gøre, så har jeg jo ikke noget valg - men jeg tillader mig lige at holde det åbent lidt endnu i et naivt håb om at der kommer en guru forbi... :-)
Jeg er enig med Mugs i, at man ikke kan lave en sådan beregning af standardværdi direkte i en tabel, men jeg undrer mig også over, hvorfor du overhovedet vil gøre det. Man skal normalt ikke gemme overflødig information i tabellerne, og længden kan jo altid beregnes, når man har brug for den i formularar, rapporter mv., så hvorfor gemme den?
Jens-Peter, jeg er enig i den umiddelbare teoretiske betragtning omkring redundant information - men der hører enigheden så også lidt op. Redundant information er som jeg ser det grundlaget for effektiv indeksering, og i den forbindelse er det helt på sin plads... Jeg bruger overnstående i en indekseringsmekanisme, hvor der skal søges efter ord, indeholdt i andre ord, fx. \"bager\" i \"bagermester\". Basistabellen, hvor ovenstående skal bruges, indeholder 500.000 basisord, og skal køre i baggrunden på serveren. Den skal lede efter ord i længere ord end sig selv. en *ord* (LIKE)-søgning vil starte med at indlæse recordsettet, før den finder ud af, at ordet \"skole\" er for kort til indeholde \"bageren\". Til dette formål skal den hurtigt kunne frasortere kortere ord. Så ud fra dette må det være ønskeligt at speede situationen lidt op, med brug af redundant data, enig? mvh/Søren
Ved nærmere eftertanke kan jeg huske, at nogenlunde samme spørgsmål er besvaret af Thomas Jepsen for ikke så længe side. Jeg mener dette svar også konkluderede, at du ikke kan sammenligne 2 felter på tabelniveau. Jeg er på arbejde lige nu, og har ikke tid til at søge efter det.
Tjaa, så må jeg jo bide i det sure æble og finde på noget andet... Selvfølgelig kan jeg i min java sende længden i sit eget felt, men det virker jo bare mystisk, at noget så simpelt ikke kan fungere...
Synes godt om
Ny brugerNybegynder
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.