Avatar billede mitc Nybegynder
07. december 2004 - 19:19 Der er 6 kommentarer og
1 løsning

Import, update udtryk

Jeg jeg har et udtryk jeg benytter i min import, update definition:
(Navn <> "") ? Navn: KreKart.Navn
Meningen er: hvis feltet er tomt i den kommasepareret fil, skal den oprindelige værdi gemmes i kreditorkartoteket.
Det virker dog somom at KreKart.Navn først opdateres med navn og derefter kører udtrykket...... er der en måde jeg kan omgå dette på?
Avatar billede mariaf Juniormester
07. december 2004 - 20:25 #1
Du skal læse den ind i en variabel, og så gemme kørslen. Bagefter kan du gå ind og lave en stump kode, der styrer det.
Avatar billede mitc Nybegynder
07. december 2004 - 20:38 #2
OK... det skal vist uddybes lidt for at jeg fårstår det.... er ikke den vilde c5 haj
Avatar billede dpdam Nybegynder
07. december 2004 - 21:14 #3
Prøv med Krekart[KontoIdx,konto].Navn i stedet for Krekart.Navn
Avatar billede mariaf Juniormester
07. december 2004 - 21:17 #4
Ja, så er det jo knap så nemt.
Når du laver importen, så skal du lave en variable for navn - &n er udemærket. Sig ja til gem, Gem den som A-import. Derefter Enter, ja til import efter konto, og annuller kørslen. Nu ligger den i XAL og går du ind under RET, så kan du "pille" i den.
Et sted i koden med Buffer skriver du IF Buffer.Navn THEN 1 ELSE buffer.navn = &N ENDIF
Så lægger den navnet ind, hvis der ikke findes noget i feltet i forvejen.
Avatar billede Slettet bruger
07. december 2004 - 22:44 #5
Du kan løse det ved at bruge to linier:
Første linie kan være Type=Str Navn=&n Fil=Ja Udtryk=
Anden linier skal være Type=DB Navn=Navn Fil=Nej Udtryk=&n ? &n : Navn
Avatar billede mitc Nybegynder
08. december 2004 - 13:04 #6
dpdam -> Tak det virkede..... hvis du lige laver et svar, kan jeg tildele dig pointene.
Kan du evt forklare hvorfor det virker når det andet ikke gør?
Avatar billede dpdam Nybegynder
08. december 2004 - 21:03 #7
Din løsning virker ikke fordi INTRODUCE Krekart i import/update kørslen er uden DIREKTE OPSLAG [KontoIdx,Konto]. Derfor forslaget om at knytte "direkte opslag" til selve feltet.
Havde du gemt kørslen og tilrettet den med direkte opslag: INTRODUCE KreKart[KontoIdx,Konto] så skulle din løsning gerne virke. At tilrette kørslen forudsætter rettigheder/kode til basisudvikling.
Man kan også gøre som Mariaf siger og rette kørslen til efter linien FIND Buffer[KontoIdx,Konto]. Nu er jeg ikke so god til IF sætninger så jeg foretrækker: SET Buffer.Navn = &N <> "" ? &N : Buffer.Navn
Eksempel på en 'gemt' kørsel:
INTRODUCE KreKart RENAME Buffer
INTRODUCE KreKart
READ &FilNavn AS Comma INTO (Konto,Navn,xxx  xxx,)
  SET Navn = Navn<>""?Navn:Krekart[KontoIdx,Konto].Navn
  FIND Buffer[KontoIdx,Konto ]
  SET Buffer.Konto = Konto
  SET Buffer.Navn = Navn
  xxx  xxx
  UPDATE Buffer
END
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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