Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:29 Der er 31 kommentarer og
1 løsning

hjælp..?

Det er lidt svært at forklare hvad den gør galt, men hvis en eller anden kan se at der er en fejl så bare skyd løs...:)

Jeg tror ikke den looper...men jeg ved ikke hvad der er galt..:/

If Request.Form("UsersNormal") <> "" Then

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open strDSN

Dim Godkendt
test = split(Request.Form("UsersNormal"), ",")
Do Until Godkendt > UBound(test, 1)
strSQL = "UPDATE branche SET godkendt = True WHERE branche_id2 LIKE '%" & test(Godkendt) & "%'"
call Connect.execute(strSQL)
Godkendt = Godkendt + 1
Loop

Connect.close
set Connect = Nothing

End If
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:32 #1
Det virker med access2000 db i PWS, men efter jeg har uploadet det til server og konverteret db om til 97 virker det ikke mere...
Jeg ved ikke om det har noget med det at gøre...??
Avatar billede invisibleman Nybegynder
24. januar 2002 - 12:32 #2
Do Until Godkendt > UBound(test, 1)

skal da kun være UBound(test)
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:32 #3
prøver lige
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:35 #4
Det er ik det...
Avatar billede tmceu Praktikant
24. januar 2002 - 12:37 #5
Har du kontrolleret at UBOUND(Test, 1) ikke er lig 0 el. -1 ?

I så fald vil den aldrig loope.
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:40 #6
Den er 1
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:41 #7
dvs den kun looper 1 gang eller hvad??
Avatar billede tmceu Praktikant
24. januar 2002 - 12:41 #8
Så prøv at tilføje Godkendt = 0 før din do.
Avatar billede invisibleman Nybegynder
24. januar 2002 - 12:41 #9
hvad med:

test = split(Request.Form("UsersNormal"), ",")
Do
    strSQL = "UPDATE branche SET godkendt = True WHERE branche_id2 LIKE '%" & test(Godkendt) & "%'"
    Connect.execute strSQL
    Godkendt = Godkendt + 1
    if Godkendt > UBound(test) Then Exit Do
Loop
Avatar billede tmceu Praktikant
24. januar 2002 - 12:43 #10
Hvis den looper, bør den gøre det 2 gange, da du kontrollerer på større end og du først inkrementerer godkendt i enden af dit loop.
Avatar billede tmceu Praktikant
24. januar 2002 - 12:44 #11
invisibleman >> hej navnebroder. Er der noget tidspunkt man ikke kan finde dig herinde på ? Er der eks. evt. et par minutter i døgnet for du sover :-)
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:45 #12
Det virker faktisk som om den looper...kan det ha noget med det der godkendt = True at gøre...??
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:47 #13
Kan godt være jeg lige skal lave en test side så i kan se hvad den gør...lidt svært at forklare...
Avatar billede tmceu Praktikant
24. januar 2002 - 12:55 #14
Jeg kan ikke huske præcist hvordan det er med true/false (boolean) felter I Access. Jeg ved at de er repræsenteret som -1 = true og 0 = false.

Men jeg vil mene at du burde få en fejl hvis det var årsagen.

Du kan evt. lave en lille test i dit loop, så du udskriver værdien af godkendt inde i loopet, så kan du kontrollere antal gennemløb.
Avatar billede dustbunny Nybegynder
24. januar 2002 - 12:58 #15
Prøv lige den her...
http://129.142.84.17/test.asp
Avatar billede dustbunny Nybegynder
24. januar 2002 - 13:01 #16
<% Response.Buffer = True

mode = Request.QueryString("mode")
Err_mess = Request.QueryString("Err_mess")

If mode = "update" Then

If Request.Form("UsersNormal") <> "" Then

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open strDSN

Dim Godkendt
test = split(Request.Form("UsersNormal"), ",")
Godkendt = 0
Do Until Godkendt > UBound(test, 1)
strSQL = "UPDATE branche SET godkendt = True WHERE branche_id2 LIKE '%" & test(Godkendt) & "%'"
call Connect.execute(strSQL)
Godkendt = Godkendt + 1
Loop

Connect.close
set Connect = Nothing

End If

If Request.Form("UsersBlocked") <> "" Then

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open strDSN

Dim Slet
test = split(Request.Form("UsersBlocked"), ",")
Do Until Slet > UBound(test, 1)
strSQL = "DELETE FROM branche WHERE branche_id2 LIKE '%" & test(Slet) & "%'"
call Connect.execute(strSQL)
Slet = Slet + 1
Loop

Connect.close
set Connect = Nothing

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open strDSN

Dim Updater
test = split(Request.Form("UsersBlocked"), ",")
Do Until Updater > UBound(test, 1)
strSQL = "UPDATE register SET branche1 = 0 WHERE branche1 LIKE '%" & test(Updater) & "%'"
call Connect.execute(strSQL)
Updater = Updater + 1
Loop

Connect.close
set Connect = Nothing

Response.Redirect "test.asp"
End If

If Request.Form("UsersFavorits") <> "" Then

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open strDSN

Dim Afvis
test = split(Request.Form("UsersFavorits"), ",")
Do Until Afvis > UBound(test, 1)
strSQL = "UPDATE branche SET godkendt = False WHERE branche_id2 LIKE '%" & test(Afvis) & "%'"
call Connect.execute(strSQL)
Afvis = Afvis + 1
Loop

Connect.close
set Connect = Nothing

End If
  Response.Redirect "test.asp"
End If
%>


<%
If mode = "addNew1" Then
If Request.QueryString("branche_navn") = "" OR Request.QueryString("kort_navn") = "" Then
Response.Redirect "test.asp?mode=addNew&Err_mess=1"
End If

    Randomize
    Str_ID=""
    Str_ID=Str_ID&(Int(100000*rnd)+1)


Set conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/database/dgg.mdb")
conn.open DSN
sql = "SELECT * FROM [branche] ORDER BY branche_id"
Set add = Server.CreateObject("ADODB.Recordset")
add.Open sql, conn, 3, 3

  add.AddNew
  add("branche_navn") = Request.QueryString("branche_navn")
  add("kort_navn") = Request.QueryString("kort_navn")
  add("branche_id2") = Str_ID
  add.Update

  Loc  = "test.asp"
  Response.Redirect Loc

add.Close
set add = nothing
conn.Close
set conn = nothing

End If
%>


<%
If mode = "" Then
mode = "main"
End If

If mode = "main" Then

Str_AllList="" 

  Set rs = Server.CreateObject("ADODB.RecordSet")
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/dgg.mdb")
  strSQL = "SELECT * FROM branche WHERE godkendt <> True ORDER BY branche_navn"
  rs.Open strSQL, strDSN, 1, 1

    If Not rs.EOF Then
      alldata=rs.getrows
      rs.close
      Set rs=nothing
      numcols=ubound(alldata,1)
      numrows=ubound(alldata,2)
      FOR rowcounter= 0 TO numrows
        branche_id=alldata(2,rowcounter)
        branche=alldata(1,rowcounter)
        Str_AllList=Str_AllList & "<option value=" & branche_id & ">&nbsp;" & branche & "</option>" & vbCrLf     
      Next
    else
      rs.close
      Set rs=nothing
    end if


Str_NewList=""

  Set rs = Server.CreateObject("ADODB.RecordSet")
  strSQL = "SELECT * FROM branche WHERE godkendt = True ORDER BY branche_navn"
  rs.Open strSQL, strDSN, 1, 1

  If Not rs.EOF Then
    alldata=rs.getrows
    rs.close
    Set rs=nothing
    numcols=ubound(alldata,1)
    numrows=ubound(alldata,2)
    FOR rowcounter= 0 TO numrows
      branche_id=alldata(2,rowcounter)
      branche=alldata(1,rowcounter)
      Str_NewList=Str_NewList & "<option value=" & branche_id & ">&nbsp;" & branche & "</option>" & vbCrLf     
    Next
  else
    rs.close
    Set rs=nothing
  end if
%>

<SCRIPT LANGUAGE="JavaScript">
<!-- // Add-Remove from field list
function deleteOption(object,index) {
  object.options[index] = null;
}
function addOption(object,text,value) {
  var defaultSelected = true;
  var selected = false;
  var optionName = new Option(text, value, defaultSelected, selected)
  object.options[object.length] = optionName;
}
function copySelected(fromObject,toObject) {
  for (var i=0, l=fromObject.options.length;i<l;i++) {
    if (fromObject.options[i].selected) {
      addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
  }
  for (var i=fromObject.options.length-1;i>-1;i--) {
    if (fromObject.options[i].selected) {
      deleteOption(fromObject,i);
    }
  }
}
function UpdateUserList() {
  for (var i=document.FormUsers.UsersFavorits.options.length-1;i>-1;i--) { document.FormUsers.UsersFavorits.options[i].selected=true; }
  for (var i=document.FormUsers.UsersNormal.options.length-1;i>-1;i--) { document.FormUsers.UsersNormal.options[i].selected=true; }
  for (var i=document.FormUsers.UsersBlocked.options.length-1;i>-1;i--) { document.FormUsers.UsersBlocked.options[i].selected=true;
  }
  document.FormUsers.submit();
}

// -->
</SCRIPT>
<div align="left"><b>Rediger brancher.</b></div><br><br><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<form name="FormUsers" action="test.asp?mode=update" method="post">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="center">
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><b class="black">Slettes</b><br>
</td>
</tr>
</table>
<select name="UsersBlocked" size="13" MULTIPLE style="width: 150px;">
</select>
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td align="right"><button type="button" OnClick="if (document.images) copySelected(document.FormUsers.UsersBlocked,document.FormUsers.UsersFavorits);">Tilf&oslash;j &gt;&gt;</button></td>
</tr>
</table>
</td>
<td align="center">
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><b class="black">Brancher</b><br></td>
</tr>
</table>
<select name="UsersFavorits" size="13" MULTIPLE style="width: 150px;">
<%=Str_AllList%>
</select>
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td align="left"><button type="button" OnClick="if (document.images) copySelected(document.FormUsers.UsersFavorits,document.FormUsers.UsersBlocked);">&lt;&lt; Slet</button></td>
<td align="right"><button type="button" OnClick="if (document.images) copySelected(document.FormUsers.UsersFavorits,document.FormUsers.UsersNormal);">Tilf&oslash;j &gt;&gt;</button></td>
</tr>
</table>
</td>
<td align="center">
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="center"><b class="black">Godkendt liste</b><br></td>
</tr>
</table>
<select name="UsersNormal" size="13" MULTIPLE style="width: 150px;">
<%=Str_NewList%>
</select>
<table width="150" cellpadding="0" cellspacing="0">
<tr>
<td align="left"><button type="button" OnClick="if (document.images) copySelected(document.FormUsers.UsersNormal,document.FormUsers.UsersFavorits);">&lt;&lt; Fjern</button></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" colspan="3">
</td>
</tr>
</table>
</form>
<form name="OmraadeErase" action="test.asp?mode=delete" method="post"></form>
</div>
<input type="button" value="Tilføj ny branche" OnClick="location.href='test.asp?mode=addNew'">&nbsp;<input type="button" value="Opdater liste" OnClick="UpdateUserList();" style="width: 115px;">
</td></tr>
</table>
<% End If %>


<% If mode = "addNew" Then %>
<div align="left"><b>Tilføj branche.</b><br><br>
<form name="ThisForm" method="GET" action="test.asp">
<input type="hidden" name="mode" value="addNew1">
<input type="hidden" name="katalog" value="<%= katalog %>">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="black">
Flertal:&nbsp;
</td>
<td>
<input type="text" name="branche_navn" size="30">
</td>
</tr>
<tr>
<td class="black">
Ental:&nbsp;
</td>
<td>
<input type="text" name="kort_navn" size="30">
</td>
</tr>
</table>
<br><br>
<input type="reset">&nbsp;<input type="submit" value="Tilføj område">
</form>
<%
If Err_mess = "1" Then
Response.Write "<i class=""red"">FEJL: Du mangler at udfylde feltet!</i>"
End If
%>
</div>
<%
End If
%>
Avatar billede dustbunny Nybegynder
24. januar 2002 - 13:02 #17
øhhhh...jah...vil i ha flere point??? :)
Avatar billede karstenlaursen Nybegynder
24. januar 2002 - 13:03 #18
Jeg tror at konventeringen til 97 at det er der det går galt! Det er ikke så godt at konventere tilbage. Så jeg er 99% på at det er der fejlen ligger.
Avatar billede tmceu Praktikant
24. januar 2002 - 13:09 #19
Forklar venligst hvad vi skal gøre på testsiden, for at vi ender i ovenstående kode...
Avatar billede dustbunny Nybegynder
24. januar 2002 - 13:15 #20
Det hele går ud på at kunne tilføje nogle brancher og så flytte dem over i de forskellige bokse alt efter hvad der skal ske med dem...
Efter du har markeret alt det du vil og har flyttet det over i de bokse skal du trykke opdater liste...og så skulle de befinde sig der næste gang man trykker opdater el.
Avatar billede tmceu Praktikant
24. januar 2002 - 13:45 #21
Prøv lige midlertidigt at udskifte denne blok:

Dim Updater
test = split(Request.Form("UsersBlocked"), ",")
Do Until Updater > UBound(test, 1)
strSQL = "UPDATE register SET branche1 = 0 WHERE branche1 LIKE '%" & test(Updater) & "%'"
call Connect.execute(strSQL)
Updater = Updater + 1
Loop

med denne:

Dim Updater
test = split(Request.Form("UsersBlocked"), ",")
response.write "entering do..."
Do Until Updater > UBound(test, 1)
response.write "Updater: " & "<BR>"
Updater = Updater + 1
Loop
response.write "ending do"

Hvorfor anvender du i øvrigt "call Connect.execute(strSQL)" og ikke blot "Connect.execute(strSQL)" ?
Avatar billede dustbunny Nybegynder
24. januar 2002 - 13:50 #22
Jeg ved ikke hvoffor jeg bruger call...har tyv stjålet den her del fra en anden side...:)
Avatar billede dustbunny Nybegynder
24. januar 2002 - 13:53 #23
Hvad skulle den gøre??
Avatar billede tmceu Praktikant
24. januar 2002 - 14:02 #24
Call udfører en sub procedure, eks.

Sub Test
Response.Write "Resultat af Sub Procedure"
End Sub

Derefter kan den anvendes med

Call Test()

Connect.Execute derimod udfører execute metoden på Connect objektet.
Fjern Call fra din kode :-)
Avatar billede tmceu Praktikant
24. januar 2002 - 14:15 #25
Hov, der mangler (), det skal være

Sub Test()
Response.Write "Resultat af Sub Procedure"
End Sub
Avatar billede dustbunny Nybegynder
24. januar 2002 - 14:20 #26
mkay...har du nogen ide til hvad mit problem er?
Avatar billede tmceu Praktikant
24. januar 2002 - 14:23 #27
Jeg har en ide om at den enten ikke kommer ind i loop'et, at den kun laver ét gennemløb eller at SQL statement'et ikke er korrekt.

Det var derfor jeg foreslog at du udskiftede ovenstående midlertidigt, så vi kan se om den kommer ind i loop'et og i så fald hvor mange gennemløb.
Avatar billede dustbunny Nybegynder
24. januar 2002 - 14:27 #28
Det har jeg gjort, men der sker ikke noget...
Avatar billede dustbunny Nybegynder
25. januar 2002 - 12:09 #29
hohoho....
Jeg er dum...tak tak..

Jeg fandt ud af det selv...
test = split(Request.Form("UsersBlocked"), ",")
skal være
test = split(Request.Form("UsersBlocked"), ", ")

:)
Tak for hjælpen...:)
Avatar billede dustbunny Nybegynder
25. januar 2002 - 12:10 #30
Den splittede den op men der var stadig et mellemrum som den server jeg har uploadet til ikke overser ligesom min super PWS server gør :)

Nåå...men takker da for jeres tid :)
tmceu >> lav et svar og du får lidt point for din tid :)
Avatar billede dustbunny Nybegynder
25. januar 2002 - 12:11 #31
ups...man kan ikke dele point ud mere?? :/
Avatar billede tmceu Praktikant
25. januar 2002 - 12:12 #32
Stærkt.

Du behøver ikke give mig point, men hvis du insisterer... :-)
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