Avatar billede l_otto Nybegynder
01. marts 2004 - 13:57 Der er 28 kommentarer og
1 løsning

hente data fra en anden db..

hej jeg henter navnet på en mand i min medarbejder db sådan her når jeg skal oprette en faktura:

<%
strSQL = "SELECT Fornavn, Efternavn FROM med where Stilling = 'sales' "
Set rs24 = Conn.Execute(strSQL)
%>

<TD><select name="tnavn" class="Formindhold" >
            <option value=""></option><%
                do while not rs24.EOF
               
            %>
    <option value="<% Response.write rs24("fornavn") & " " & rs24("Efternavn") %>"><% Response.write rs24("fornavn") & " " & rs24("Efternavn") %></option>
      <%
              rs24.MoveNext
     
          loop
           
            %>
    </select></TD>

super nu kan man sælge vælge den sælger man vil.. og han navn kommer i feltet "tnavn"


Men han har også oplysninger som email og mobil og dem vil jeg gerne have med når man vælger ham...

de skal så ind i disse felter:

</TR>
            <TR>
                <TD>Phone</TD>
                <TD><input type="text" name="ttlf" class="Formindhold" size="50"></TD>
            </TR>
            <TR>
                <TD>Cell</TD>
                <TD><input type="text" name="tmobil" class="Formindhold" size="50"></TD>
            </TR>
            <TR>
                <TD>Mail</TD>
                <TD><input type="text" name="temail" class="Formindhold" size="50"></TD>
            </TR>
            <TR>
                <TD>Fax</TD>
                <TD><input type="text" name="tfax" class="Formindhold" size="50"></TD>
            </TR>
            </TABLE>

hvordan gør jeg det ?
Avatar billede dk_akj Nybegynder
01. marts 2004 - 14:12 #1
strSQL = "SELECT Fornavn, Efternavn,tlf,mobil,email,fax FROM med where Stilling = 'sales' "


</TR>
            <TR>
                <TD>Phone</TD>
                <TD><input type="text" name="ttlf" class="Formindhold" size="50" value="<%=rs24("tlf")%>"></TD>
            </TR>
            <TR>
                <TD>Cell</TD>
                <TD><input type="text" name="tmobil" class="Formindhold" size="50" value="<%=rs24("mobil")%>"></TD>
            </TR>
            <TR>
                <TD>Mail</TD>
                <TD><input type="text" name="temail" class="Formindhold" size="50" value="<%=rs24("email")%>"></TD>
            </TR>
            <TR>
                <TD>Fax</TD>
                <TD><input type="text" name="tfax" class="Formindhold" size="50" value="<%=rs24("fax")%>"></TD>
            </TR>
            </TABLE>


går udfra felterne i tabellen hedder tlf,mobil,email,fax, ellers må du lige selv rette til de rigtige feltnavne.


//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 14:20 #2
hvorfor får jeg denne.
ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
Avatar billede dk_akj Nybegynder
01. marts 2004 - 14:31 #3
Arg, jeg har misforstået spørgsmålet...

Øjeblik
//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 14:33 #4
ok.. glæder mig til det nye
Avatar billede dk_akj Nybegynder
01. marts 2004 - 14:39 #5
Så.. du skal lige rette minside.asp (i form tag'et) til det din side hedder
Idéen er at når du vælger en ny række i select'en submittes siden og data hentes på den pågældende sælger.

//akj



<form name=form1 action="minside.asp" method=post>

<table>
    <tr>
        <td>
<%
strSQL = "SELECT Fornavn, Efternavn,tlf,mobil,email,fax FROM med where Stilling = 'sales' "

Set rs24 = Conn.Execute(strSQL)
%>

<TD><select onChange="document.form1.submit();" name="tnavn" class="Formindhold" >
            <option value=""></option><%
                do while not rs24.EOF
               
            %>
    <option value="<% Response.write rs24("id") %>"><% Response.write rs24("fornavn") & " " & rs24("Efternavn") %></option>
      <%
              rs24.MoveNext
     
          loop
           
            %>
    </select></TD>

</TR>

<% if requst.form("tnavn") <> "" then
    sql = select * from stilling where id = requst.form("tnavn")

    set rs = conn.execute(sql)

    if not rs.eof then

%>
<tr><td>Detaljer på <%=rs(fname) & " " & rs("lanem")%></td></tr>"


    <TR>
                <TD>Phone</TD>
                <TD><input type="text" name="ttlf" class="Formindhold" size="50" value="<%=rs("tlf")%>"></TD>
            </TR>
            <TR>
                <TD>Cell</TD>
                <TD><input type="text" name="tmobil" class="Formindhold" size="50" value="<%=rs("mobil")%>"></TD>
            </TR>
            <TR>
                <TD>Mail</TD>
                <TD><input type="text" name="temail" class="Formindhold" size="50" value="<%=rs("email")%>"></TD>
            </TR>
            <TR>
                <TD>Fax</TD>
                <TD><input type="text" name="tfax" class="Formindhold" size="50" value="<%=rs("fax")%>"></TD>
            </TR>
            </TABLE>

<%
else
    response.write "<tr><td>Ingen poster fundet ved execute af " & sql & "</td></tr>"
end if
%>

</form>
Avatar billede l_otto Nybegynder
01. marts 2004 - 14:43 #6
men det er jo mit i en stor opret form.. den ligger...

så hvad gør jeg så ?
Avatar billede l_otto Nybegynder
01. marts 2004 - 14:57 #7
er det noget med at man skal lave en join?
Avatar billede dk_akj Nybegynder
01. marts 2004 - 15:04 #8
Kan man se dit "værk" nogen steder =

//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 15:07 #9
ikke rigtigt :-) sorry

men det vi arbejder med her er jo midt i at man er ved at oprrette en faktura... så derfor kan man ikke "vende" siden for så opretter den jo det man har lavet...
Avatar billede dk_akj Nybegynder
01. marts 2004 - 15:09 #10
Oki, hvad med at lave et popupvindue til at vise oplysningerne i ??

//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 15:10 #11
hvis man gør det hvordan "suger" man den så ned i felterne ?
Avatar billede l_otto Nybegynder
01. marts 2004 - 15:14 #12
kan man ikke lave noget med: if name="tnavn" = then skriv han mobil osv
Avatar billede dk_akj Nybegynder
01. marts 2004 - 15:23 #13
Skal oplysningerne med på fakturaen ? eller er de kun til internt brug ?

//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 15:26 #14
de skal med.. ned i felterne...

opret faktura til : hansen a/s
vælg sælger : navn og der vælger du så ham udfra dem der er oprettet i "med" som sælger.. og isteder for at skrive hans mobil osv 100 gange skal den også bare tage det med over..
Avatar billede dk_akj Nybegynder
01. marts 2004 - 15:31 #15
Oki, så kan du åbne en popup med dette link
<a href="popup.asp?saelger=3" target="_blank">Åben popup</a>

Her er så felter til data
<input type=text name="f1" value=""><br>
<input type=text name="f2" value=""><br>
<input type=text name="f3" value=""><br>
<input type=text name="f4" value=""><br>


popup laves som dette:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>popup</title>
</head>

<body>

<%

find sælger info
set rs = conn.execute ("select * from saelgere where id = " & request.querystring("id")


%>
<script language=javascript>
// send tilbage til det vindue der åbnede popup'n
window.opener.f1.value=<%=rs("tlf")%>;
window.opener.f2.value=<%=rs("mobil")%>;
window.opener.f3.value=<%=rs("email")%>;
window.opener.f4.value=<%=rs("fax")%>;
self.close();
</script>


</body>
</html>


//akj
Avatar billede dk_akj Nybegynder
01. marts 2004 - 15:37 #16
Sådan kan du åben popup fra selecten

<SCRIPT LANGUAGE="JavaScript">

var mywin;

    function newWindow() {
   
    saelger = document.form1.saelger.value;
   
    if (mywin != null){
        mywin.close();
    }
        var wsize = "WIDTH=" + 1200 + ",HEIGHT="+ 1200 +""
          mywin = window.open("popup.asp?saelger=" + saelger ,"NewWindow",wsize)
    }

</SCRIPT>
<form name=form1>
<select  name="saelger" onChange="newWindow();">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

//akj
Avatar billede l_otto Nybegynder
01. marts 2004 - 15:38 #17
hmm ok.. men det ville være sejere hvis det kunne virke på den anden måde,..

jeg kan jo godt få både fornavn og efternavn med ?  kan man så ikke lave noget smart hvor den tager de sidste oplysnigner med..
Avatar billede l_otto Nybegynder
01. marts 2004 - 16:11 #18
jeg leder mest efter det smarte
Avatar billede dk_akj Nybegynder
01. marts 2004 - 17:05 #19
Du kan ikke submitte siden, ergo skal det være clientside, latså javascript.

Så skal du oprette et array med de data du skal bruge. Altså et tlf array, et mobilarray osv

På OnChange af select'en skal du så vælge det element i dit js array og udfylde input felterne med de rigtige data.

//akj
Avatar billede l_otto Nybegynder
02. marts 2004 - 08:47 #20
men hvordan gør jeg det... ? :-)
Avatar billede dk_akj Nybegynder
02. marts 2004 - 09:01 #21
Sådan opretter du dit array

response.write "<script language=javascript>"
' opret array med 100 elementer
response.write "var tlf_array(100);" & vbcrlf
do while not rs.eof
  i = i + 1;
  response.write "tlf_array["& i &"] = '" & rs("tlf") & "'" & vbcrlf
loop
response.write "</script>"

//akj
Avatar billede l_otto Nybegynder
02. marts 2004 - 09:07 #22
undskyld jeg ikke er så god.. men hvor sætter jeg den ind ?
Avatar billede dk_akj Nybegynder
02. marts 2004 - 09:11 #23
Det skal gerne skrives ind i <head> tag'et.

Du skal rette rs til at være det recordset du har med alle dine data i.

Hvis du så refresher din side og højreklikekr og siger "vis kilde" skulle du gerne kunne se alle dine tlf.nr i et array.

Hvis du ikke kender til javascript vil jeg foreslå du bruger metoden med popup vinduet da det nok vil være lettere for dig.

//akj

//akj
Avatar billede l_otto Nybegynder
02. marts 2004 - 09:20 #24
jo men min kunde skal jo ikke hjøre klikke.... :-)

ok... jeg ved ikke lige hvad jeg skal gøre her...

men jeg syntes bare jeg har set den funktion jeg leder efter mange steder.. at når man vælger en ting i en dropdown fylder den selv resten af felterne ud..
Avatar billede dk_akj Nybegynder
02. marts 2004 - 09:55 #25
Nej nej nej... Højreklik er jo bare for at DU kunne se dit array.....

Den funktion du tænker på er helt sikkert lavet med javascript.

//akj
Avatar billede l_otto Nybegynder
02. marts 2004 - 10:02 #26
ok nu har jeg denne her:

<HEAD><script language=javascript>"
' opret array med 100 elementer
    <% response.write "var tlf_array(100);" & vbcrlf
do while not rs24.eof
  i = i + 1;
  response.write "tlf_array["& i &"] = '" & rs24("Mobiltelefon") & "'" & vbcrlf
loop
response.write %>     </script>

men får denne fejl:

Microsoft VBScript compilation error '800a0401'

Expected end of statement
opret.asp, line 9

i = i + 1;
---------^
Avatar billede dk_akj Nybegynder
02. marts 2004 - 10:16 #27
<HEAD>
    <script language=javascript>
<%
    ' opret array med 100 elementer

    response.write "var tlf_array(100);" & vbcrlf
    do while not rs24.eof
        i = i + 1
        response.write "tlf_array["& i &"] = '" & rs24("Mobiltelefon") & ";'" & vbcrlf
    loop
    response.write "</script>"
%>

//akj
Avatar billede l_otto Nybegynder
02. marts 2004 - 10:19 #28
nu viser den slet ikke siden :-) ok det bliver vidst lidt for meget... tak for hjælpen.. måske opretter jeg sprg. igen.. :-)
Avatar billede dk_akj Nybegynder
02. marts 2004 - 10:22 #29
oki.

//akj
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