webForumDet fria alternativet

ASP, VB, SQL Trubbel, Säg är det möjligt?

ASP

6 svar · 672 visningar · startad av T_Codez

Medlem sedan juli 2001458 inlägg
Frågan#1

Är det möjligt att göra så här? Eller måste en tabell ha ett värde?
Eller kan man göra en if sats i sql-satsen?

Typ:

Select * from tabell where fält1 = variabel AND fält1 Not in (Select * from tabell2 where fält1 = variabel)

*recordset1 blocket*

IF recordset1.bof = null then

vbl2 = "någonting"

ELSE

vbl2 = recordset1

END IF

Vet inte om ni blir klokare av detta. Men jag vet knappt hur jag ska förklara själv... Men jag ska försöka förtydlga varteftersom frågorna kommer... Alternativ så kan jag försöka skriva ihop något annat i hopp om förtydligande...

/ TT

Medlem sedan jan. 200225 inlägg
#2

Kan du utveckla

Kan du skriva hur databasen ser ut och vad du vill ska hända?

Medlem sedan juli 2001458 inlägg
#3

Ska försöka beskriva den rackaren så bra det går.

Databasen innehåller en tabell för varje land. här nedan är en variant (sveriges)

Postid (Primary Key)
Kategori (Vilken kategori tillhör artikeln)
ArtikelNr (Artikelns nummer)
LanguageCode (kan vara både se-en och se beroende på vilket språk artikeln är skriven i)
Titel
BrödTxt
Link 1 - 4 (ett fält var)
Linktxt 1 -4
Pics 1-4
etc.

Som läget är nu så finns det 10 stycken permanenta artiklar för varje kategori som inte går att ta bort (endast editera, uppdatera & reseta). Det är som det ska...

Sedan är det posterna för översättningarna som är lite klurigare. Jag har full funktionalitet för att skapa, editera, deleta och uppdatera. Men nästa steg har jag ännu inte klurat ut och det är om jag nu vill börja om från scratch med ett nytt land t ex. Då är den permanenta delen okay. Men inte den andra då den inte ännu har några data.

Och när sidan då läses upp så är ju datainnehållet helt korrupt och server Error 500 meddelandet kommer upp. Och det beror givetvis på att .bof är tom. Så det jag skulle vilja är att ha en koll på om .bof är null då kör vi en annan uppläsning från databasen typ... Eller något annat

En lösning som jag annars har kan ju vara att ha permanenta poster för de andra språket också. Så kan man vid "delete article" istället bara uppdatera posten med ett värde som man inte läser upp om det värdet är sant... Men den vägen känns väldigt lång just nu...

Tack för uppmärksamheten

mvh

/TT

Medlem sedan juli 2001458 inlägg
#4

Mors igen...

Hade lite funderingar om man inte kan lösa det hela via en "outer join" istället för en inner join som nedan (för det är väl en sån va?):

SQL = "SELECT * FROM tblUpdate_" & U_CCode &" where fltKategori='Hardox' And fltCountryCode = '" &CCodeTva&"' And fltArtikelNr Not In (SELECT fltArtikelNr FROM tblUpdate_" & U_CCode &" where fltKategori='Hardox' And fltCountryCode ='" & U_CCode &"')ORDER BY fltArtikelNr"

Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"'
Set rs = db.Execute (SQL)

För då kanske man säger att den kan finnas där, men den behöver inte finnas där... Och det i sin tur borde väl innebära att BOF och EOF server 500 felet aldrig uppstår. Men okay sen måste man säkert göra en del null kontroller senare i koden... Men det är en senare fråga...

Frågan jag har nu är hur man gör om frågan ovan till en "Outer Join". Eller hur syntaxen för en sådan ser ut...

Tack för uppmärksamheten

/ TT

Medlem sedan juli 2001458 inlägg
#5

Jag provar med ett förtydligande då mina variabler etc. kanske grötar runt det hela...

Som ovan...

SQL = "SELECT * FROM tabell &" where fltKategori='Hx' And fltCountryCode = 'se-en' And fltArtikelNr Not In (SELECT fltArtikelNr FROM tabell &" where fltKategori='Hx' And fltCountryCode ='se')"

Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"'
Set rs = db.Execute (SQL)

Så det jag är ute efter är en "outer join mot samma tabell" (men det kanske inte går) för "CountryCode" med "se" som värde kan vara null och kommer också vara null emellanåt. Men jag vill ändå att det ska gå att köra denna fråga ändå i och med att den andra datan ska fortfarande presenteras...

Är det någon som vet... Jag är för sopig på SQL för att kunna klura ut detta... Har slingrat mig runt i forumet fram och tillbaka ett par varv. Har hittat ett par justa förklaringar av LarsG och lärt mig lite mer... Har hittat ett par syntaxer som jag ska prova. Men tar tacksamt emot alla former av tips och ev. lösningar som kan hjälpa mig på vägen...

Tack för uppmärksamheten...

/TT

Medlem sedan dec. 19996 721 inlägg
#6

Du får gärna förklara lite mer :) Jag är inte så intresserad av SQL och kod, utan snarare vad systemet ska göra. Rent generellt bör man inte skapa unika tabeller (i det här fallet för de olika länderna), för saker som egentligen hör ihop (översättningar). En mer logisk lösning är att ha en central artikeltabell med kategorisering etc. länkad till en tabell som innehåller de språkunika texterna etc.

BOF kan aldrig bli null, utan är alltid false eller true.

Medlem sedan juli 2001458 inlägg
#7

Hej

Delar gärna med mig... För att det kan leda till potentiella förbättringar etc.

Min lilla databas är ett newbie bygge också... Och så här i ett senare läge har jag också upptäckt försvagningen av prestanda etc. vid sökningar etc. Men i övrigt så är detta annars en 1:a beta eller vad man ´nu ska kalla det :-)

Systemet i sig är tänkt som följande:

Ponera att detta forum som det ser ut idag. Skulle ha en spegling på Engelska för Svenskar. Samt utbyggnadsmöjligheter till och för andra språk. Det jag jobbar på är att utifrån en kopia av den svenska "engelsspråkiga" versionen skapa en grundmall till de andra länderna.

"Därav en tabell för varje land" (En ide som kom till i ett senare läge. Och lathunden tog över istället för att börja om med en fullständig utvecklingsplan) Anyway...

Jag skapaden en kopia av tabellen (som ligger i en central mapp och varje land under sin mapp (landsprefix)) och sedan för att förenkla det hela så unificerar jag sidorna tillhörighet via en textfil som endast innehåller landets prefix. Samt en motsvarande för landets "andraspråk". Det förenklar skapandet av nya länder. Typ... Skapa mapp med landsprefix namn. Kopiera alla sidor till den mappen. Editera textfilen och byt ut till rätt landsprefix... Klart.

Det var en lätta biten... Nu bråttas jag med Admin grejen.

Det finns 2 typer av admins. De som ser endast sitt land. Och de som kan se fler eller alla. Och den biten är en lång historia i sig. Men det fungerar som så att en admin har en egen liten "skräddarsydd" htmleditor som är helt anpassad till den tänkta siten... Skönt att veta att de som är språkkunniga vad det gäller att översätta GUI grejer som menyer, sidfötter etc. inte behöver bry sig om html etc. Då den redan ligger lagrad i Access.

OCh nu är bekymret som jag har att uppläsningen i admin gui även ska fungera om det ännu inte finns några översatta artiklar. Så att man slipper buggen om Server 500 fel etc.

Hoppas det kan ha gett dig en liten bild om vad det handlar om. Jag vet att det finns på marknaden och så... Men det kostar pengar samt att jag är helsåld på att lära mig detta programmerande en gång för alla. Om man nu någonsin kommer känna att man behärskar något till fullo... :-D

Tack för uppmärksamheten

/ TT

Ps. Tack BOF upplysningen

277 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)