Avatar billede jhalberg Nybegynder
09. december 2003 - 14:12 Der er 8 kommentarer

tælle en op ved ændring af tal

Jeg har lavet en pjecedatabase. Pjecerne sidder i en rækkefølge i en mappe. Jeg har lavet et felt med rækkefølgenr.
Kan jeg få feltet til automatisk at tælle op eller ned hvis der puttes en pjece ind eller tages en ud? Således at man hele tiden har den rigtige rækkefølge.
Avatar billede overchord Nybegynder
09. december 2003 - 14:55 #1
Ja det kna du sikkert godt. Det er lidt svaert at give specifik information uden at vide hvordan din db er struktureret, men du kan f.eks bruge en update query. Hvis du f.eks indsaetter en nye pjece nr 5, saa skal alle pjecer med raekkeflg nr 5 og over haeves med en.
Det goer du ved at koere en update query

UPDATE [PjeceTabel] SET raekkeflg = raekkeflg +1 WHERE raekkeflg <=5;
Avatar billede overchord Nybegynder
09. december 2003 - 15:00 #2
Hov der skulle vist vaere WHERE raekkeflg >=5;

:-)
Avatar billede jhalberg Nybegynder
09. december 2003 - 15:10 #3
Tak for hurtigt svar.
Hvor skal jeg skrive den lille fikse sætning - når jeg står i feltet?
Avatar billede overchord Nybegynder
09. december 2003 - 15:37 #4
Hvilket felt? Er det i en formular eller en tabel?

Problemet er primaert at det daekker over mere end en opgave:

1) Ligger det nye raekkefoelge oveni et eksisterende nummer? (altsaa bliver der indsaet en ny pjece i en eksisterende raekkefoelge)
2) Hvis jeg fjerner en post skal alle stoerre numre i raekkefoelgen reduceres med 1.
3) Hvis jeg ligger en nye pjece ind som den sidste i raekkefoelgen skal der ikke aendres noget.

Saa rent konditionelt kan du haandtere  opgaver 1 & 3 paa samme tid.

Men hvordan kommer du frem til raekkefoelgenummeret til at starte med? Er det rent manuelt eller er det baseret paa noget bestemt?
Avatar billede jhalberg Nybegynder
09. december 2003 - 16:01 #5
Rækkefølgenummeret taster jeg manuelt ind.
Det er i en formular og felter kommer fra en tabel med en slags stamoplysninger på pjecerne, feltet kalder jeg Raekkefoelge.
Ja, den nye rækkefølge ligger oven i den eksisterende, så det er rigtig forstået.
Avatar billede overchord Nybegynder
09. december 2003 - 17:03 #6
ok saa foerst og fremmest skal du have haandteret nye pjecer.

Saa i den boks hvor du indtaster raekkefoelgenummeret skal du have noget kode beforeupdate hvor du finder ud af om raekkefoelgenummeret bryder den eksisterende raekke:

if Dcount("Raekkeflg", "PjeceTabel", "Raekkeflg = " & me.Tekstboksen) >=1 then
  UPDATE [PjeceTabel] SET raekkeflg = raekkeflg +1 WHERE raekkeflg >= " &   
  me.Tekstboksen & ";"
end if

Dvs du slaar op i tabellen for at se om raekkefoelgenummeret allerede eksisterer. Hvis det er tilfaeldet skubber den alle numre stoerre end eller lig med det nye raekkefoelgenummer op. Hvis raekkefoelgenummere ikke findes i forvejen bliver posten bare lagt ind
Avatar billede jhalberg Nybegynder
11. december 2003 - 14:02 #7
Så er jeg på banen igen. Jeg forstå ikke lige hvad me.tekstboksen er. De andre steder har jeg sat feltnavn og tabel ind.
Avatar billede overchord Nybegynder
12. december 2003 - 17:06 #8
me.teksboksen er en reference til den tekstboks i formularen hvor du indtaster dit raekkefoelgenummer. Saa kriteriet for Dcount- kaldet er en kombination af teksten "Raekkeflg = " og hvad der staar i denne tekstboks. Saa hvis du f.eks indskriver det nye raekkefoelgenummer 11 vil linjen med DCount blive laest som :

if Dcount("Raekkeflg", "PjeceTabel", "Raekkeflg = 11") >=1 then
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