Avatar billede dsjk Novice
07. februar 2002 - 14:44 Der er 10 kommentarer og
1 løsning

Hente og gemme data fra flere tabeller

Da jeg mener dette er et lidt større projekt giver jeg 100 point.

Jeg har lavet en access database med følgende:
Ansat - tabel (id, navn, titel, titel1, tlf, mail, image)
Afdeling - tabel (afdnr, afdelingnavn)
ansatafdeling - tabel (ansatid, afdnr)

En ansat kan være nemlig være "ansat" i flere afdelinger, derfor denne ansatafdelig tabel.
Hvis I ser http://www.densortejakke.dk/icea/admin/admstaff.asp?afdnr=1 og http://www.densortejakke.dk/icea/admin/admstaff.asp?afdnr=3
Kan i se at Henrik Andersen går igen.
klikker man på "ret oplysninger" Kan man rette oplysningerne om personen, hvilket dur ok. Men jeg vil også have at man (som jeg har gjort plads til) kan se og evt. krydse af hvilke afdelinger personen er "ansat" i.
Hvordan gør jeg dette?

Hvilken kode har i brug for til at hjælpe mig.

dsjk
Avatar billede coltau Juniormester
07. februar 2002 - 15:01 #1
Hvis ikke der er for mange afdelinger skal det laves som afkrydsningsfelter.

Kør afdelingerne igennem og lav det antal der er nødvendig.

<input type='CheckBox' name='Edit" & afdRS("afdnr")& "'>
afdRS.MoveNext
Avatar billede coltau Juniormester
07. februar 2002 - 15:02 #2
Sig til hvis du skal have hjælp til Update.
Avatar billede dsjk Novice
07. februar 2002 - 15:14 #3
hmm, skal have hjælp allerede nu hvor jeg kan sætte checkboxen ind.
Jeg har sat checkboxen ind her nedenunder, men jeg skal vel sætte 11 ind, da der er 11 afdelinger?

                <tr>
                  <td class="almtext" width="17%" height="27">&nbsp;Afdelinger:</td>
                  <td width="64%" height="27">&nbsp;<input type='CheckBox' name='Edit" & afdRS("afdnr")& "'></td>
                </tr>

Men hvordan får jeg den til at kontrollere om personen er "ansat" i afdelingen?
dsjk
Avatar billede coltau Juniormester
07. februar 2002 - 15:21 #4
Øjeblik - CheckBoxes er noget "pangel" at arbejde med. (Det hedder det i Nordjylland)
Avatar billede dsjk Novice
07. februar 2002 - 15:33 #5
kommer selv det fra, så jeg er med...
Avatar billede coltau Juniormester
07. februar 2002 - 15:36 #6
Ellers er der noget her:

ansatRS = Recordsæt med ansat
afdRS = Recordset med alle afdelinger

function CheckAfdeling
  RS.Open "select * from ansatafdeling where ansatid=" & ansat("ID") & " and afdnr=" & afdRS("afdnr")
  if (RS.recordCount > 0) then
    CheckAfdeling = True
  else
    CheckAfdeling = False
  end if
  RS.Close
end function

do while not afdRS.EOF
  if CheckAfdeling then
    Response.Write"<input type='checkbox' checked size='" & intLen & "' name='Edit" & afdRS("ID") & "'>")
  else 
    Response.Write"<input type='checkbox' checked size='" & intLen & "' name='Edit" & afdRS("ID") & "'>")
  end if
loop

Så skal jeg lige finde ud af hvordan du aflæser checkboxene efter submit.
Avatar billede coltau Juniormester
07. februar 2002 - 15:41 #7
Når du har trykket submit kan checkboxfelterne aflæses således:

if Request.Form("Edit?") = "" then
  ' Ja denne checkbox er udfyldt (? står for afdnr i tabellen afdeling)
else
  ' Nej denne checkbox er ikke udfyldt.
end if

Ja der er jo 11 checkbox-felter med navnene Edit1, edit2, edit3 osv ...
Avatar billede dsjk Novice
07. februar 2002 - 17:07 #8
hmm, der kommer følgende fejl:
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
/icea/admin/retansat.asp, line 384

som er:
<% do while not afdRS.EOF

jeg har fjernet slut ) fra Responce.Write linierne.

Hvis du vil se hele koden kan du se den her :
http://www.densortejakke.dk/icea/retansat.txt
jeg har sat ******** om det du lige har lavet.

dsjk
Avatar billede dsjk Novice
07. februar 2002 - 19:03 #9
coltau > har du givet fortabt, eller har du travlt???

dsjk
Avatar billede dsjk Novice
07. februar 2002 - 19:04 #10
sorry kom til at afvise svaret, det kan jo være det bliver rigtigt hen ad vejen...
Avatar billede dsjk Novice
07. februar 2002 - 21:23 #11
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
Kurser inden for grundlæggende programmering

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