Avatar billede avest Nybegynder
07. august 2002 - 13:20 Der er 16 kommentarer og
1 løsning

Ingen ting er ikke nul i beregninger

For nemhedsskyld så antager vi at jeg har en formular med tre felter. FELT1, FELT2 og SUM.

Når brugeren skal intaste er det ikke altid at FLET2 skal udfyldes. Men udnlades bliver teksten i SUM

"FEJL: Forkert datatype for operator eller @funktion: forventede tal"

Hvordan undgår jeg dette, uden at udfylde feltet med en standardværdi 0.

Jeg har mange felter og de enkelte felter bruges i beregniner mange steder.

Derfor er det en ulempe at:

brugeren hvergang et felt skal udfyldes skal starte med at slette standardværdien inden en ny kan indskrives.

hvergang værdien fra feltet skal bruges i en beregning skal der skrives @IF(felt2="";0;felt2)

Hvordan løser jeg dette problem?
Avatar billede bamzen Nybegynder
07. august 2002 - 13:31 #1
i validation option for felt2 skriv
@if(felt2="";0;felt2)
Avatar billede bamzen Nybegynder
07. august 2002 - 13:32 #2
hvis der ikke er udfyldt noget, bliver værdien automatisk sat til 0
Avatar billede bamzen Nybegynder
07. august 2002 - 13:33 #3
altså en slags default værdi, som ikke er default ;-)
Avatar billede avest Nybegynder
07. august 2002 - 13:45 #4
God idé - den prøver jeg lige. Men du mener nok translation og ikke validation.
Avatar billede bamzen Nybegynder
07. august 2002 - 13:51 #5
ja, naturligvis, translation
Avatar billede avest Nybegynder
07. august 2002 - 13:56 #6
translation:
Næh, den idé virker ikke. For lige så snart formularen åbnes i redigertilstand indsættes 0.

validation
De sker ingenting med feltet, det er stadig tomt.
Prøvede med FIELD felt2 :=
Avatar billede bamzen Nybegynder
07. august 2002 - 14:04 #7
prøv i translation at lave værdien til "0| " så burde den vise ingenting, men reelt indeholde værdien 0.....

de steder du bruger felt2, skal du så huske @texttonumber(felt2)
Avatar billede avest Nybegynder
07. august 2002 - 14:38 #8
hmm, den forstår jeg ikke.
hvis jeg i validation skriver @if(felt2="";"0| ";felt2) så kommer værdien da bare til at være "0| " mere er der vel ikke til de.
Avatar billede bamzen Nybegynder
07. august 2002 - 14:47 #9
du bruger pipe "|" til at lave et alias for værdien
Avatar billede avest Nybegynder
07. august 2002 - 14:51 #10
ja ja, men det får piben ikke en anden lyd af.
Den sætter den nok så pænt ind som tekst selvom feltet er sat til at skulle indeholde tal.
har aldrig hørt om en alias for værdien, men fint nok hvis det bare virkede.
Avatar billede bamzen Nybegynder
07. august 2002 - 15:01 #11
du bruger det meget når du laver text lists

øøøh, men så er det jo

prøv lige at bytte rundt på det

så det hedder

" |0"

syntaksen er jo først hvad der vises, dernæst den reelle værdi..... sorry
Avatar billede avest Nybegynder
08. august 2002 - 10:43 #12
Næh, den sætter stadig bare teksten " |0" ind som var det normal tekst.
Avatar billede bamzen Nybegynder
08. august 2002 - 10:56 #13
Daaaaaaaaaaaaaamn, så er du nok nødt til at tage forbehold for null i dine beregninger

ie:

_felt2temp := @if(felt2="";0;felt2)

og så bruge _felt2temp i dine beregninger
Avatar billede cdelicht Nybegynder
08. august 2002 - 11:03 #14
Med koden @If(felt2="";0;felt2) i "Input translation" for FELT2 undgår du en værdi indtil dokumentet har været gemt(opdateret) første gang. Næste gang du åbner dokumentet står der 0.
Avatar billede avest Nybegynder
08. august 2002 - 15:22 #15
Er lige skiftet til R5 designeren og nu virker det fint.
Avatar billede bamzen Nybegynder
08. august 2002 - 15:25 #16
Tak for points ;-)
Avatar billede avest Nybegynder
11. december 2003 - 12:56 #17
Er stadig irreteret over at Notes nægter at godtage "" som 0.
Det samme er gældende i Script

dim t1 As long
t1 = Clng((uidoc.fieldgettext("mitfelt")))

Melder fejl hvis feltet er tom.

Så nu er det åbenbart nødvendigt at lave en funktion som jeg kan kalde hvergang jeg skal bruge værdien af et felt.

Jeg kan da godt se at "" ikke er det samme som "0", men nogen som lige kan forklare mig hvad formålet kan være med dette påfund.
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
Computerworld tilbyder specialiserede kurser i database-management

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