Avatar billede edl Nybegynder
15. november 2002 - 00:29 Der er 13 kommentarer og
1 løsning

Fjern dobbelt værdier i drop down box fra database

Hej

Hvorledes sikker jeg mig at jeg kun få forskellige værdier i en drop down box.

Jeg har eks en tabel med hvor der optræder 15 poster med værdien 1000 og 22 poster med viden 500. Jeg vi nu gerne kun have 2 felter i min drop down box. Alle forslag er velkommen.
Avatar billede kovalt Nybegynder
15. november 2002 - 00:31 #1
hvorledes genererer du den box..... taster du det manuelt ind?
Avatar billede edl Nybegynder
15. november 2002 - 00:33 #2
Nej den indlæses via ASP.

        <select name="Trafonumber" style="font-family: Tahoma, Verdena; font-size: 11px; margin-top: 0px; width: 170px;"  onChange=ShowTrafoData()>
          <%strSQL = "SELECT * FROM PowerTrafos ORDER BY TrafoNr"%>
          <!--#include file="Inc/DB_DNS_PATH.inc" -->
          <option>Choose trafo number</option>
          <!--#include file="Inc/DB_DO_While.inc" -->
          <option value="<%=rs("ID")%>"><%=rs("TrafoNr")%></option>
          <!--#include file="Inc/DB_Move_Next_Close.inc" -->
        </select>
Avatar billede edl Nybegynder
15. november 2002 - 00:37 #3
Som i ser, gennemløbes hele databasen, men her er problemet med felter af samme værdi. Denne drop down box skal bruges til gennemvalg.
Avatar billede kovalt Nybegynder
15. november 2002 - 00:37 #4
Du kan gøre sådan her:

        <select name="Trafonumber" style="font-family: Tahoma, Verdena; font-size: 11px; margin-top: 0px; width: 170px;"  onChange=ShowTrafoData()>
          <%strSQL = "SELECT DISTINCT * FROM PowerTrafos ORDER BY TrafoNr"%>
          <!--#include file="Inc/DB_DNS_PATH.inc" -->
          <option>Choose trafo number</option>
          <!--#include file="Inc/DB_DO_While.inc" -->
          <option value="<%=rs("ID")%>"><%=rs("TrafoNr")%></option>
          <!--#include file="Inc/DB_Move_Next_Close.inc" -->
        </select>

Hermed læses hver værdi kun ind én gang hvormed du slipper for redudans!
Avatar billede edl Nybegynder
15. november 2002 - 00:46 #5
Jeg har prøvet men med samme resultat, mange ens værdier, OBS De værdier ligger i databasen
<%strSQL = "SELECT DISTINCT * FROM PowerTrafos ORDER BY cint(U2) DESC"%>
          <!--#include file="Inc/DB_DNS_PATH.inc" -->
          <option>Select secondary voltage U2</option>
          <!--#include file="Inc/DB_DO_While.inc" -->
          <option value="<%=rs("U2")%>"><%=rs("U2")%></option>
          <!--#include file="Inc/DB_Move_Next_Close.inc" -->
          </select>
Avatar billede edl Nybegynder
15. november 2002 - 00:47 #6
Hov hvad laver denne SELECT DISTINCT ????
Avatar billede kovalt Nybegynder
15. november 2002 - 00:48 #7
skal du bruge andre kolonner en de tal der skal være i din box.... ellers skriv kolonnenavnet - jeg ved ikke om DISTINCT virker ved brug af *
Avatar billede kovalt Nybegynder
15. november 2002 - 00:49 #8
SELECT DISTINCT gør at SQL'en ikke udskriver to ens poster fra DB.... havde du ikke fået det med i din kode eller
Avatar billede kovalt Nybegynder
15. november 2002 - 00:51 #9
virker det?
Avatar billede edl Nybegynder
15. november 2002 - 01:02 #10
Jeg prøver, men jeg sætter de lige op således at du kan se hele programmeringen
Avatar billede edl Nybegynder
15. november 2002 - 01:06 #11
Den kommer stadig med mange af de samme værdier

<%strSQL = "SELECT DISTINCT U2, ID FROM PowerTrafos"%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../../databaser/Application.mdb") & ";UID=admin;PWD=;"
Conn.Open DSN
' Skaber et recordset udfra SQL strengen
Set rs = Conn.Execute(strSQL)
%>
  <option>Select secondary voltage U2</option>
<%Do While not rs.EOF
          MyValue = rs("ID")%>
<option value="<%=rs("U2")%>"><%=rs("U2")%></option>
<%
        rs.MoveNext
    Loop
    rs.Close
    set rs = Nothing
    %>
          </select>
Avatar billede edl Nybegynder
15. november 2002 - 01:15 #12
kovalt jeg håber ikke du er smuttet i seng.
Avatar billede kovalt Nybegynder
15. november 2002 - 11:13 #13
det er fordi at DISTICNT ikke knytter sig til en af kolonnerne men til dem begge.... derfor udskriver den et eksemplar af hver element i begge rækker....

hvilken af de to U2 og ID er den styrende... må der ikke være dupplerende værdi i nogen af de to.
Avatar billede edl Nybegynder
15. november 2002 - 21:12 #14
Jeg takker meget for hjælpen :-)
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