Avatar billede nogetfx Nybegynder
28. september 2002 - 00:16 Der er 3 kommentarer og
1 løsning

FSO - udskrive utilmeldte mapper

Jeg kører dette hvor jeg udskriver de undermapper der er i mappen,men den skal kun udskrive undermapper der ikke er tilmeldt iforvejen

                    "<td>" &_
                        "<select name=""txt"">" & vbCrLf &_
                        "<option value=""stand"" selected> V&aelig;lg en mappe" & vbCrLf
                   
                    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
                    Set f = objFSO.getFolder(Server.MapPath("..\gall"))

                    For Each Item in f.SubFolders

                            NewName = Replace(Item.Name, "æ", "ae")
                              NewName = Replace(NewName, "ø", "oe")
                              NewName = Replace(NewName, "å", "aa")
                              NewName = Replace(NewName, "Æ", "ae")
                              NewName = Replace(NewName, "Ø", "oe")
                              NewName = Replace(NewName, "Å", "aa")
                              NewName = Replace(NewName, " ", "_")
 
                    Set rsTjek = Conn.Execute("select * from gall")

                    If Not rsTjek.eof then
                        If NewName <> rsTjek("txt") Or Item.Name <> rsTjek("txt") Then
                       
                            If NewName <> Item.Name Then
                                  Response.Write  "<option value=""" & NewName & """> " & NewName & " (" & Item.Name & ")" & vbCrLf
                            Else
                                Response.Write  "<option value=""" & Item.Name & """> " & Item.Name & vbCrLf
                            End If   
                        End If   
                    End If

   

                        If NewName <> Item.Name then
                            item.Name = NewName ' Ændre navnet på mappen
                        End If
                    Next

                    set rsTjek=nothing

Hvis Db'en er helt tom, så udskriver den ingen mapper. Men så snart der er en post til at tjekke med så funker det perfekt.
DVS der kun udskrives utilmeldte undermapper...
jeg har stirret mig blind på det nu...

/lars
Avatar billede coltau Juniormester
28. september 2002 - 10:00 #1
Skal du have udskrevet de undermapper som ikke findes i DB. ?

Så skal din SQL-sætning ændres til dette:

Set rsTjek = Conn.Execute("select txt from gall where txt='" & NewName & "' or txt='" & Item.Name & "'")
if not rsTjek.EOF then
  ' Mappen findes i DB
else
  ' Mappen findes ikke i DB
end if

Hvis ikke det er det skal du nok forklare ? lidt mere.

Den kode du har lavet giver ikke nogen mening.
Du gennemløber alle undermapper og for hver undermappe henter du ALLE records i tabellen gall - hvis der findes nogle sætter du navnet i en combobox ellers gør du ikke noget. Det giver ikke nogen mening.
Avatar billede nogetfx Nybegynder
28. september 2002 - 13:08 #2
Den SQL du har skrevet finder aldrig nogen mapper,men den anden funker så snart der er en post i DB'en...

Men hvor vil du så have denne:   
If NewName <> rsTjek("txt") Then


Jeg ved ikke om det ikke giver nogen mening, det funker jo så snart at der er en post i DB'en.

Hvis den mappe(feltet: txt) findes i DB'en, så skal den jo ikke noget, det er for at når folk skal tilmelde et nyt galleri at de ikke sidder og fumler rundt og kommertil at tage dem samme mappe igen...


/Lars
Avatar billede nogetfx Nybegynder
10. december 2002 - 10:34 #3
lukker
Avatar billede crapman Nybegynder
20. september 2003 - 18:29 #4
....jeg siger også mange tak.. havde samme problem... :)
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