/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med script der skal kunne udskrive~
Fra : Brian Bendtsen


Dato : 17-05-06 14:14

Hej

Jeg har problemer med et script der skal kunne udskrive en
organisationsplan over en virksomhed.

I min databasetabel, t_medarbejdere har jeg MedarbejderID og LederID.

Tabellen kunne se således ud:

MedarbejderID | LederID
3000 | 4000
4000 | 5000
5000 | 6000
5022 | 6000
6000 |

Her er hvad jeg har fundet ud af indtil videre:

set objRS = server.createObject("ADODB.RECORDSET")
sql = "SELECT medarbejderID FROM t_medarbejdere WHERE LederID = '6000'"
objRS.open sql, objConn

IF NOT (objRS.EOF or objRS.BOF) THEN

sql = "SELECT medarbejderID FROM t_medarbejdere WHERE "

WHILE NOT objRS.EOF
sql = sql + "LederID = '"&objRS("MedarbejderID")&"' OR "
objRS.moveNext
WEND
sql = sql + " 1 = 1"

objRSA.open sql, objConn


- Hvordan kommer jeg videre herfra? Kan næsten regne ud at det er noget
med at lægge det ind i en subrutine som kaldes igen og igen
men det er det jeg ikke rigtig kan overskue. Nogen der kan hjælpe?

/Brian Bendtsen

 
 
Lars Hoffmann (17-05-2006)
Kommentar
Fra : Lars Hoffmann


Dato : 17-05-06 14:55

Brian Bendtsen wrote:

> - Hvordan kommer jeg videre herfra? Kan næsten regne ud at det er noget
> med at lægge det ind i en subrutine som kaldes igen og igen
> men det er det jeg ikke rigtig kan overskue. Nogen der kan hjælpe?

Du skal bruge det der kaldes en rekursivt kald , det vil sige en
funktion eller procedure der kalder sig selv.

Noget i stil med:


sub struktur(medarbejderID)

   set objRS = server.createObject("ADODB.RECORDSET")
   sql = "SELECT medarbejderID FROM t_medarbejdere WHERE LederID = '" &
medabejderid & "'"
   objRS.open sql, objConn

   do while not objRS.EOF
      call struktur(objRS.fields("medarbejderID"))

      objRS.movenext
   loop
   ' Formater Output her

end sub

Prøv om du kan arbejde videre ud fra det


Michael Zedeler (17-05-2006)
Kommentar
Fra : Michael Zedeler


Dato : 17-05-06 21:42

Lars Hoffmann wrote:
> Brian Bendtsen wrote:
>
>>- Hvordan kommer jeg videre herfra? Kan næsten regne ud at det er noget
>>med at lægge det ind i en subrutine som kaldes igen og igen
>>men det er det jeg ikke rigtig kan overskue. Nogen der kan hjælpe?
>
> Du skal bruge det der kaldes en rekursivt kald , det vil sige en
> funktion eller procedure der kalder sig selv.
>
> Noget i stil med:
>
> sub struktur(medarbejderID)
>
>    [klip]
>
> end sub
>
> Prøv om du kan arbejde videre ud fra det

Det kan godt blive en kende langsomt med mange kald til databasen, men
det er nok det nemmeste at få til at fungere. Alternativt kan man også
blot lave en forespørgsel, som trækker alle data ud i ét hug, stopper
det i nogle arrays og behandler det i VBScript.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste