Avatar billede l_otto Nybegynder
11. februar 2004 - 11:07 Der er 31 kommentarer og
2 løsninger

udtræk fra to databaser

her:
strSQL = "Select * From firma Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

tager jeg firmaet frem. fint..
nu skal jeg have oplysninger der min db kaldet "medarb".

den skal sige... Select * From medarb if fornavn (som firmaet er oprettet med = fornavn i medarb :  vis hans info..

altså hvis firma ikea er oprettet med "Hans" som sælger og hans er oprettet i db "medarb", så når jeg viser siden om ikea skal den også vise alle de info jeg har liggende om "hans" i db "medarb"

håber i forstår

peter
Avatar billede trenskow Nybegynder
11. februar 2004 - 11:09 #1
Snakker vi om 2 db'er eller om 2 tabeller i én db?
Avatar billede tefcke Nybegynder
11. februar 2004 - 11:11 #2
SELECT *
FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn
WHERE Id = " & Request.Querystring("id")
Avatar billede l_otto Nybegynder
11. februar 2004 - 11:30 #3
to dbér
Avatar billede l_otto Nybegynder
11. februar 2004 - 11:47 #4
strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn WHERE Id = "  & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)


men den tager ikke fornavnet eller nogle af oplysningerne for medarb over ?
Avatar billede steen Nybegynder
11. februar 2004 - 12:19 #5
jeg tror du skal over i sådan noget her:

SELECT firma.*, medarbejder.*
FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn WHERE Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)
Avatar billede l_otto Nybegynder
11. februar 2004 - 12:43 #6
hvis jeg tager denne her med; Set rs = Conn.Execute(strSQL) får jeg


Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[TCX][MyODBC]Column: 'Id' in where clause is ambiguous
Avatar billede l_otto Nybegynder
11. februar 2004 - 12:45 #7
<%
Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open DSN


strSQL = "Select * From firma Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)



%>

<%
Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open DSN


strSQL = "SELECT firma .*, medarb .* FROM firma LEFT JOIN medarb ON firma .fornavn = medarb .fornavn WHERE Id = " & Request.Querystring("id")



%>

men den tager ikke info med over fra db medarb øv

her skal den vise det :

<TD >sælger
<td><input type="text" name="Fornavn" class="Formindhold" size="40" value="<%=rs("Fornavn")%>"></td>
Avatar billede steen Nybegynder
11. februar 2004 - 13:41 #8
Så prøv: strSQL = "SELECT firma .*, medarb .* FROM firma RIGHT JOIN medarb ON firma .fornavn = medarb .fornavn WHERE Id = " & Request.Querystring("id")
Avatar billede eagleeye Praktikant
11. februar 2004 - 13:45 #9
Det lyder mest som om der både er en kolonne med navnet id i firma og medarb tabellerne.

Så skriv tabelnavnet foran id:

strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn WHERE firma.Id = " & Request.Querystring("id")
Avatar billede l_otto Nybegynder
11. februar 2004 - 14:02 #10
Det lyder mest som om der både er en kolonne med navnet id i firma og medarb tabellerne.

det er korrekt...

i firma db er alle firmaerne
i medarb er alle medarbejderne

når jeg opretter et firma.. vælger jeg Hans som sælger... hans er oprettet i medarb. med tlf 22222222

når man så skal se hele firmaet skal den trække hans og hans tlf med :-)
Avatar billede l_otto Nybegynder
11. februar 2004 - 14:03 #11
eagle: strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn WHERE firma.Id = " & Request.Querystring("id")

laver det samme der kommer ikke noget med :-(
Avatar billede l_otto Nybegynder
11. februar 2004 - 14:06 #12
den skal kigge ned i "medarb" og siger der er hans og derefter trække hans info med..
Avatar billede l_otto Nybegynder
11. februar 2004 - 14:30 #13
nu virker Eagels version :-) skal I ikke dele point :-)
Avatar billede l_otto Nybegynder
11. februar 2004 - 14:57 #14
er der en der har:
et javascript der vender datoen når den vises ? den vise nu mm/dd/yyyy

selvom den står inde i mysql som
Avatar billede l_otto Nybegynder
11. februar 2004 - 15:03 #15
yyyy/mm/dd og det er sådan den skal vises
Avatar billede eagleeye Praktikant
11. februar 2004 - 15:22 #16
Ok :)

Ikke umiddelbart et javascript, men du kan lave det om enten med string funktionerne, eller måske sådan her:

dato = rs("kolonne")
dato = Year(dato) & "/" & Right("0"&Month(dato),2) & "/" & Right("0"&Day(dato),2)
Avatar billede l_otto Nybegynder
11. februar 2004 - 15:27 #17
den skal ind i denne her ?

      <TD >dato<td> <input type="Text" name="genre" id="demo1"  class="Formindhold"  size="12" value="<%=rs("genre")%>">
Avatar billede l_otto Nybegynder
11. februar 2004 - 16:24 #18
hej e.

nu er det både fornavn og efternavn

strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn WHERE firma.Id = " & Request.Querystring("id")


hvordan gør jeg det ?

for han hedder hans jensen  så der er en medarb.efternavn også for den vises i feltet som hans jensen... :-)
Avatar billede eagleeye Praktikant
11. februar 2004 - 16:30 #19
Ikke helt forstået skal den join også på efternavn??

Eller skal den lave et navn: (medarb.fornavn & ' ' & medarb.efternavn) as navn
Avatar billede l_otto Nybegynder
12. februar 2004 - 08:32 #20
Ikke helt forstået skal den join også på efternavn?? ja:-)

for når jeg opretter en medarbejder er det med fornavn og efternavn..

men den bliver vist i firma med hele navnet...
Avatar billede eagleeye Praktikant
12. februar 2004 - 10:38 #21
Prøv:

strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn AND firma.efternavn = medarb.efternavn WHERE firma.Id = " & Request.Querystring("id")


ET alternativ kan det komme ind i where delen:
strSQL = "SELECT * FROM firma LEFT JOIN medarb ON firma.fornavn = medarb.fornavn  WHERE firma.efternavn = medarb.efternavn AND firma.Id = " & Request.Querystring("id")
Avatar billede l_otto Nybegynder
12. februar 2004 - 10:43 #22
sorry ingen af dem virkede....

i firma står der fornavn = hans jensen
i medarb står der fornavn = hans
                  efternavn = jensen

det er derfor den ikke kan finde ud af det.. hjælp
Avatar billede eagleeye Praktikant
12. februar 2004 - 10:47 #23
nej så virker det ikke.
Så skal det vist laves på en anden måde, i stil med dette, dog tjek på www.mysql.com hvordan substr virker eller om den hedder noget andet, det skal være en som svare til inStr:

strSQL = "SELECT * FROM firma, medarb WHERE subStr(firma.fornavn,medarb.fornavn)>0 AND subStr(firma.fornavn,medarb.efternavn)>0 AND firma.Id = " & Request.Querystring("id")
Avatar billede eagleeye Praktikant
12. februar 2004 - 10:49 #24
den hedder faktisk instr i mysql: INSTR

strSQL = "SELECT * FROM firma, medarb WHERE INSTR(firma.fornavn,medarb.fornavn)>0 AND INSTR(firma.fornavn,medarb.efternavn)>0 AND firma.Id = " & Request.Querystring("id")
Avatar billede l_otto Nybegynder
12. februar 2004 - 10:52 #25
når jeg bruger den sidste:

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

ff.asp, line 0
Avatar billede l_otto Nybegynder
12. februar 2004 - 10:52 #26
men vi er tæt på kan jeg fornemme
Avatar billede eagleeye Praktikant
12. februar 2004 - 10:53 #27
det fordi den ikke finder nogle du skal huske at sætte:

if not rs.EOF then
  'udskriv her

else
  'Ingen poster
end if
Avatar billede l_otto Nybegynder
12. februar 2004 - 10:53 #28
den er DER....Jubiiiiiiiiiiiiiiiiiiiiii
Avatar billede eagleeye Praktikant
12. februar 2004 - 10:54 #29
det kan udvides lidt da fornavnet skal starte ved 1 og efternavn efter len(fornavn):

strSQL = "SELECT * FROM firma, medarb WHERE INSTR(firma.fornavn,medarb.fornavn)=1 AND INSTR(firma.fornavn,medarb.efternavn)>LENGTH(firma.fornavn) AND firma.Id = " & Request.Querystring("id")
Avatar billede l_otto Nybegynder
12. februar 2004 - 11:06 #30
svar tak :-)

og nu vil jeg gerne vide hvor du har lært alt det her ???
Avatar billede l_otto Nybegynder
12. februar 2004 - 11:15 #31
jeg har to sælgere den skal vise..

den første viser den flot med det hele tlf nummer osv..
nummer to der viser den rigtig tlf og mail så den tager den rigtige mand men den vil sgu ikke vise han navn ????
Avatar billede l_otto Nybegynder
12. februar 2004 - 11:36 #32
har du forladt mig ?
Avatar billede l_otto Nybegynder
12. februar 2004 - 11:54 #33
ja så løste jeg det selv.. :-)  he 2 point til mig og tak igen.. du er min helt.
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