28. november 2000 - 11:55Der er
65 kommentarer og 1 løsning
Besværlig database med et hav af tabeller
Halløj
Jeg har fået en noget omfattende database med et hav af tabeller. Den er professionelt udarbejdet, men jeg synes det noget omfattende (i ASP) at stykke oplysnigerne sammen fra 10 tabeller for at danne et dokument. Skal man lave en query til at stykke oplysninger sammen eller hvad er din idé?
OBS fuld point gives kun for konkret løsning på problemet.
Jeg ved ikke hvad der sker, men jeg får altså ingen ting hverken på hotmail eller yahoo, kan du måske lave en zip fil og lægge den ud på dit domæne, så jeg kan downloade den derfra ???
AARRRGGGHHHH, så lykkedes det, men jeg har Access97, så jeg må vente med at se på den til jeg kommer hjem....Men jeg fik vist kun databasen. Kan du prøve at skrive hvad du skal have, fra de forskellige tabeller ?
Øhm, det som du har sendt til min hotmail kan jeg ikke rigtig bruge. Jeg er nu kommet hjem, og basen er fin nok, men hvilke opslysninger fra hvilke tabeller skal du bruge.....
hmmm. sidder lige og læser lidt i Access hjælpen, citat : \'Bemærk! Microsoft Jet-databasemotoren understøtter ikke brugen af CREATE VIEW eller DDL-sætninger med ikke-Microsoft Jet-databasemotordatabaser.\' citat slut.
Så er din eneste mulighed nok at lave en Udvælgelsesforspørgsel i access, som du så kan bruge, men det er i store træk også det samme. Det returnere et øjebliksbillede af data fra de tabeller som du skal bruge....Jeg kan gost lave den for dig, men det kræver som jeg skrev før at du skriver hvad og fra hvad du skal bruge.
Alternativt kan du lave en stor select sætning...Den kan jeg også godt lave til dig...!
Hmmm, det jeg modtog var bare en html side med et dokument af en eller anden slags...Der stod ikke noget om hvilke felter og hvilke tabeller der skulle bruges...
Tjeps, nu skulle jeg vist være klar. Nu er det altså således at jeg er på job og skal til møde i et par timer. Men når jeg er ude skal jeg lave det til dig , OK ?
OK, lige et spørgsmål : De tabeller du bruger i dine select sætninger i den fremsendte fil, er også dem jeg skal hente de felter som du beskrev i mailen fra ?
Altså så vidt jeg kan se er der nogle problemer, i den fil du har sendt mig. punkt 1) En del af de sidste select sætninger er afhængige af resultatet af nogle af dine tidligere select sætninger. Dette er generelt ikke noget problem, men i dette tilfælde er det altså, fordi det ikke er hele resultatet af f.eks. rs(\"lovudgaveid\") der bruges, men du \'klipper\' i strengen, som så bagefter bruges som søge resultat. Nogle database programmer understøtter forskellige VBScript komandoer i sin SQL syntaks, men altså desvære ikke Access. Dermed kan jeg så sige dig at jeg kan ikke lave EN stor forkromet Select sætning, men jeg kan koge dem ned så de fylder ca. 4. punkt 2) Skal jeg lave den fil om, med de nye select sætninger så du bare kan arbejde med den ?
OVKAJ, så har jeg da endelig fået lavet noget : Skal jeg poste det her, eller sende det til dig...? If Svar = \"send\" Then \"Giv mig lige din mail adresse, jeg kom til at slette den jeg fik fra min hotmail....;-)\" End if
Fuck,...hæng lige på et øjeblik, mens jeg tører spinaten af mine sko. Ja jeg har selvfølgelig lavet det hele, men det ligger på min arbejde, sorry. Jeg er først der inde i starten af næste uge. Håber det er OK. ! Kasseper
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
Er der felter der hedder sagsfremstilling og afgoerelse i tabellen B3 og hedder den B3 og ikke b3....Jeg kan ikke lige finde den base du sendte mig, med det er tit sådan noget der er galt ved sådan en fejlmedl...;-)
Du må altså lige sige om den hedder b3 eller B3 ?, så jeg kan få ro i mit sind.;-) Kalder du bare siden direkte ??? For så har dui jo ikke noget i dit smID.... Altså din querystring er tom, det er jeg ikke sikker på virker.....
Nu er fejlen da fundet....... Problemet er bogstavet ø i linierne : ------------------------------------------------------------------------------------------------- \'NewSQL = \"SELECT a.smid, a.smnummer, a.smudsendelsesdato, a.smafgørelsesdato, a.journalnummer, a.myndighed, \"\'
og
NewSQL = NewSQL & \" FROM (Select smid,smnummer,smudsendelsesdato,smafgørelsesdato,journalnummer,myndighed from b1 where smID = \" & ThisID & \") as a,\" -------------------------------------------------------------------------------------------------
Så du skal omnavngive feltet smafgørelsesdato i b1 til smafgoerelsesdato og bruge flg. kode :
************************************************************************************************* <% Set Conn = Server.CreateObject(\"ADODB.Connection\") tempConn = \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"smdata.mdb\") & \";UID=admin;PWD=;\" Conn.Open tempConn Dim ThisID ThisID = Cint(Request.querystring(\"id\")) NewSQL = \"SELECT a.smid, a.smnummer, a.smudsendelsesdato, a.smafgoerelsesdato, a.journalnummer, a.myndighed, \" NewSQL = NewSQL & \" b.smresume, b.smbekendtgoerelse,\" NewSQL = NewSQL & \" c.stamstikordid, \" NewSQL = NewSQL & \" d.sagsfremstilling, d.afgoerelse \" NewSQL = NewSQL & \" FROM (Select smid,smnummer,smudsendelsesdato,smafgoerelsesdato,journalnummer,myndighed from b1 where smID = \" & ThisID & \") as a,\" NewSQL = NewSQL & \" (Select smresume, smbekendtgoerelse from b2 where smID = \" & ThisID & \") as b,\" NewSQL = NewSQL & \" (Select stamstikordid from tblstikord where smID = \" & ThisID & \") as c,\" NewSQL = NewSQL & \" (Select sagsfremstilling, afgoerelse from b3 where smID = \" & ThisID & \") as d\" Set rs = Conn.execute(NewSQL) If Not (rs.BOF Or rs.EOF) Then Do While Not rs.EOF \'Værdier smid = rs(\"a.smid\") smnummer = rs(\"a.smnummer\") smudsendelsesdato = rs(\"a.smudsendelsesdato\") smafgoerelsesdato = rs(\"a.afgoerelsedatostart\") journalnummer = rs(\"a.journalnummer\") myndighed = rs(\"a.myndighed\") mresume = rs(\"b.smresume\") smbekendtgoerelse = rs(\"b.smbekendtgoerelse\") stamstikordid = stamstikordid & \" or stamstikordid = \" & rs(\"c.stamstikordid\") sagsfremstilling = rs(\"d.sagsfremstilling\") afgoerelse = rs(\"d.afgoerelse\") rs.MoveNext Loop Else End If rs.Close Set rs = Nothing
Jamen så tak for denne gang, den var længe undervejs ;-)
Synes godt om
Ny brugerNybegynder
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.