Inlägg

Inlägg som mAngAn_ har skrivit i forumet
Av mAngAn_

Om du har under 2 gb ledigt på partitionen så ska det vara en bugg att det går extremt segt. Är inte säker om om det var under 2gb, men det var något liknande. Så det kan ju vara det som är felet.

Av mAngAn_

Hehe så det är så det fungerar, jag satt och funderade på vad som bestämmde en databas storlek häromdagen, så nu vet jag det .)

Nu till nästa problem, allt fungerade utmärkt tills jag insåg att jag hämtade fel information från databasen :).

Så efter lite pill, där allting gick jättebra så gick jag på en nit igen :).
Jag får inte den här select satsen att fungera, det är här det skiter sig AND fltFordonsstus = 'Begagnad' . Finns det någon begränsning i asp om hur många AND man kan använda eller?, i access fungerar sql satsen som det ska.
fltFakturadat är datatypen text för det gick inte att ha datum där för datumet hade ett sådant konstigt format t.ex "2004-01-01-00.00.00".

SQL satsen efter access har kladdat om den

SELECT tblBil.fltRegnr, tblBil.fltVagnspec, tblBil.fltInternvagn, tblBil.fltFordonsstatus, tblBil.fltFakturadat
FROM tblBil
WHERE (((tblBil.fltInternvagn)=' ') AND ((tblBil.fltFordonsstatus)="Begagnad") AND ((tblBil.fltFakturadat)<='2004-10-22'))
ORDER BY tblBil.fltFakturadat;

ASP Kod

d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltFakturadat, fltInbytessalj FROM tblBil WHERE tblBil.fltFakturadat BETWEEN '" & dat & "' AND '2001-01-01' AND fltInternvagn = ' ' AND fltFordonsstus = 'Begagnad' ORDER BY fltFakturadat ASC"

Efter lite testning verkar det inte gå att använda två st "AND", hur kan man komma runt det?

Av mAngAn_

Det är bara en tidsfråga innan din pm låda blir massbombad av mig :P. Kommer säkert fastna på någon urvalsfråga sen eller något liknande. Men nu ska jag rara ner och lägga undan så jag har en verision som fungerar

Tack för tipset i access, att man kunde komprimera databasen :), den jag hade låg på 8 mb nu ligger den på fina 400 kb.

Av mAngAn_

Ring runt till valfria onoff butiker, dom borde väl ha något ex kvar någonstans i sthlm.

Av mAngAn_

Efter att ha strirrat på specifikationerna på SN25P så verkar den lite mer lockande, sen är ju fråga vilken storlek det är på fläktarna, har hittat att det står att det är 2x 60mm fläktar vid hårddiskarna. Så då gäller det bara att stirra på designen så att man kan släppa den trevligadesignen på SN95G5. Ska bli intressant att se hur mycket den kommer kosta och när den kommer till butikerna.

Edit:
Nu har det dykt upp en recension på det lilla fanskapet.
http://www.sfftech.com/showdocs.cfm?aid=653

Edit:
Efter att ha läst igenom recensionen ordentligt så har jag kommit fram till, en sån ska jag ha :). Sen får man väl ta smällen att den inte är lika snygg som SN95G5.

Av mAngAn_

Edit:
Kom på vad som gör att det blir fel, när jag har satt datum på två fält som är datum så skiter det sig, men när man kör dom som text så fungerar det fint.
När det är ett fält som är tomt och data typen är datum/tid så går det inge bra verkar det som.

Edit:
Helt otroligt att det ska vara en massa små skitfel som tar lång tid att felsöka i asp. Men helt underbart att det fungerar nu.
Tack så mycket för hjälpen nu ska du få vara i fred xtermin8 :).

Av mAngAn_

Nu när det har dykt upp en massa mer info om SN25P.
Är den så mycket bättre än SN95G5, visst den har pci-e så den är lite mer framtidssäker, men det såg ut att vara en hel del små fläktar och enligt mig så är det likamed oväsen.
Den såg ju lite bättre ut på shuttle sidan än gamespot, men det är ju inte i närheten av SN95G5 utseendemässigt.

http://www.shuttle.com/share/product_data/spec/SN25P_DM.pdf
http://global.shuttle.com/Product/Barebone/SN25P.asp

Av mAngAn_

Jo jag har startat om datorn, men jag testar det igen, man vet ju aldrig.

Edit:
Fortfarande samma fel.
Klagar på.
RecordSet.Fields.item(radslut) = varde

Edit:
Jag satte in <% OPTION EXPLICIT %> i början på koden för ett desperat försök att felsöka, men då klagade scriptet bara på några odefinierade variabler och efter jag fixade till det så stannar den på RecordSet.Fields.item(radslut) = varde.
Kör jag utan den raden så fungerar ju scriptet som det ska bara att den inte lägger in någon information i databasen bara tomma fält, men den lägger in rätt antal poster osv :).
Felet känns oroväckande bekant, ska testa kopiera lite kod en bit upp i tråden och se om jag får till det.
Misstänker att allt började strula ur när jag skulle använda en annan databas som ser likadan ut och när jag bytte ut skv filen. Och databasen har skriv och läs rättigheter.

Så här ser koden ut nu, och det borde ju fungera som det ska.
Gah hata saker som inte fungerar när det fungerade med samma kod innan.

Kod:

<%@ Language="VBScript" %>
<% OPTION EXPLICIT %>
<%
dim filesys, readfile, content, arrInfo
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile(Server.MapPath("lager.txt"), 1, false)
readfile.Skipline
content = readfile.ReadAll
readfile.close
'Ny rad för att fixa att det inte är ett ; på slutet av varje rad
content = replace(content, vbcrlf, ";")
arrInfo = split(content, ";")

dim addera, Connect, Recordset
Set Connect = CreateObject("ADODB.Connection")
connect.provider = "Microsoft.jet.oledb.4.0"
connect.Open "data source=" & server.mapPath("bilar.mdb")
Set RecordSet = CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblBil"

RecordSet.Open addera, Connect, 3, 3
Recordset.addnew
%>

<%
Dim i, radslut, varde
radslut = 0
'Nu finns första raden med men om du sätter i = 32 borde den försvinna
For i = 0 to uBound(arrInfo)
'Bort med dubbelfnutts och skriv inte ut de två sista posterna i skvfilen
varde = replace(arrInfo(i), """", "")

if radslut =< 30 then
'msgbox "uppdaterar: " & radslut & " " & varde
RecordSet.Fields.item(radslut) = varde
else
'msgbox "uppdaterar INTE!: " & radslut & " " & varde
end if

'Kontrollera om det är dags att byta rad
if radslut = 31 then
'Det är det! Skriv ut en radbrytning och nollställ radslut.
radslut = 0
RecordSet.Update

'Lägg till nytt record om det finns mera värden i filen
if i <> uBound(arrInfo)-1 then
RecordSet.AddNew
end if
Else
'Om inte plussa på radslut variabeln
radslut = radslut +1
End if
Next
%>
<%
Recordset.Update
RecordSet.Close
Connect.Close
%>

Av mAngAn_

Var lägger man in dom siffrorna sen då? t.ex om man vill kunna skriva till den här databasen.
connect.Open "data source=" & server.mapPath("lager.mdb")

Du råkar inte se något fel med koden ovanför?
Förstår inte varför det inte fungerar, det är ju samma kod som fungerade innan.

Av mAngAn_

Okej nu såg jag vad som var fel, hur klantigt som helst, jag hade glömt en bokstav i fltInbytessalj så det stog fltInbytssalj, klantig som jag är missade jag det när jag kollade så namnen stämmde på fälten :).

Sen adovbs.inc är jag inte kompis med sökvägen till den brukar strula hela tiden, i det här scriptet måste jag ange två mappar i sökvägen t.ex skv/klar/filen för att det ska fungera. Men i ett annat på ett annat ställe räcker det med en mapp.

Edit:
Nu total vägrar scriptet köra som det ska, ska man inte kunna skriva in "1, 4" eller något liknande istället för att använda adovbs.inc. Så att det blir skriv/läs rättigheter.

Edit:

Vad har jag lyckats ställa till med, det enda jag gjorde var att byta ut namnet på databasen, och nu fungerar ingenting.

Feltyp:
Provider (0x80020005)
Det gick inte att hitta parametern.
/skv/klar/indata.asp, line 33

<!-- #include virtual="/skv/klar/adovbs.inc" -->
<%
dim filesys, readfile, content, arrInfo
set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile(Server.MapPath("lager2.txt"), 1, false)
readfile.Skipline
content = readfile.ReadAll
readfile.close
'Ny rad för att fixa att det inte är ett ; på slutet av varje rad
content = replace(content, vbcrlf, ";")
arrInfo = split(content, ";")

dim addera
Set Connect = CreateObject("ADODB.Connection")
connect.provider = "Microsoft.jet.oledb.4.0"
connect.Open "data source=" & server.mapPath("lager.mdb")
Set RecordSet = CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM tblBil"

RecordSet.Open addera, Connect, 3, 3
Recordset.addnew

Dim i, radslut, varde
radslut = 0
'Nu finns första raden med men om du sätter i = 32 borde den försvinna
For i = 0 to uBound(arrInfo)
'Bort med dubbelfnutts och skriv inte ut de två sista posterna i skvfilen
varde = replace(arrInfo(i), """", "")

if radslut =< 30 then
'msgbox "uppdaterar: " & radslut & " " & varde
RecordSet.Fields.item(radslut) = varde
else
'msgbox "uppdaterar INTE!: " & radslut & " " & varde
end if

'Kontrollera om det är dags att byta rad
if radslut = 31 then
'Det är det! Skriv ut en radbrytning och nollställ radslut.
radslut = 0
RecordSet.Update

'Lägg till nytt record om det finns mera värden i filen
if i <> uBound(arrInfo)-1 then
RecordSet.AddNew
end if
Else
'Om inte plussa på radslut variabeln
radslut = radslut +1
End if
Next

Recordset.Update
RecordSet.Close
Connect.Close
%>

Av mAngAn_

Junction Link Magic heter ett program som fixar det, väldigt smidigt program.

Av mAngAn_

Nu är det ändrat till datum, men det blir samma fel ändå. Kan det vara att det är något fel i databasen eller ligger det i asp koden?

Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/skv/klar/begdagar.asp, line 35

I gamla databasen ligger datumet också som text och där fungerar det att köra between, men det är kanske så mycket fulkod i mitt script så det fungerar på något sätt ändå

Av mAngAn_

Bra fråga, iofs så står datumet som text i databasen, men jag får samma fel oavsett om man kör med # eller ', nu är det ändrat till samma i alla fall.

Av mAngAn_

Då får jag upp det här oavsett, om jag kör begdatum.asp?datum=d120 eller dom andra.

Debug: SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #2004-10-24# AND '2001-01-01' ORDER BY fltStartdatumlager ASC

Edit: Fältnamnen stämmer också med databasen, så där bråkar det inte heller.

Av mAngAn_

Samma hände brorsan på hans Hansol 19" skärm. när han hade kört ut bilden max i inställningarna på skärmen så saknades fortfarande ett par cm på bredden. Löste det genom att köpa en ny skärm :), ingen tröst för dig men ring och hör med lg om det ska vara så eller om du kan få en ny på garanti.

Av mAngAn_

Min lilla samurize config.

http://web.telia.com/~u25012060/samu.jpg

Av mAngAn_

Hehe skummt att den fungerade med gamla databasen :). IIS servern kanske ballade ur och visade en gammal sida där det fungerade :). Får testa det i morgon.

Edit:
Urk nu förstår jag ingenting, samma kod fungerar perfekt med den gamla databasen, bara man ändrar sökvägen och fält namnen. När jag kör den här koden med den nya databasen får jag det här felet. Kan det vara att nya databasen är gjord i access xp? Den gamla är gjord i Access 2000

Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/skv/klar/begdagar.asp, line 34

<html>
<body>

<!-- #include virtual="skv/klar/adovbs.inc" -->

<%
DIM dat , dat2 , dat3
dat = DateAdd("d", -120, date)
dat2 = DateAdd("d", -180, date)
dat3 = DateAdd("d", -360, date)
%>
<%

Set Connect = Server.CreateObject("ADODB.Connection")
connect.provider = "Microsoft.jet.oledb.4.0"
connect.Open "data source=" & server.mapPath("lager.mdb")

If Request.QueryString("datum")= "d120" OR Request.QueryString("datum")= "d180" OR Request.QueryString("datum")= "d360" Then

Set RecSet = Server.CreateObject("ADODB.Recordset")

If Request.QueryString("datum") = "d120" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

ElseIf Request.QueryString("datum") = "d180" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat2 & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

ElseIf Request.QueryString("datum") = "d360" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat3 & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

End if

RecSet.Open d, Connect, adOpenStatic, adLockOptimistic
%>
<table border="0" width="auto">

<tr>
<td colspan=6><center><b>Uppdaterad <%=Date%></b></center>
</tr>

<tr bgcolor="yellow">
<td><B>Reg. nr</B></td>
<td><B>Årsm</B></td>
<td><B>Vagnspecifikation</B></td>
<td><B>Färg</B></td>
<td><B>Inbyt. Säljare</B></td>
<td><B>Indatum</B></td>
</tr>

<% Do Until RecSet.EOF %>
<tr>
<td><%= RecSet("fltRegnr")%></td>
<td><%= RecSet("fltArsmodell")%></td>
<td><%= RecSet("fltVagnspec")%></td>
<td><%= RecSet("fltFarg")%></td>
<td><%= RecSet("fltInbytssalj")%></td>
<td><%= RecSet("fltStartdatumlager")%></td>
</tr>

<% RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
End if
%>

</tr>
</table>
</body>
</html>

Av mAngAn_

Nu har det gått åt skogen igen, fast med en annan sak, jag har ett asp script som hämtar dom rader där bilarna har stått i lager längre än 120, 180, 360 dagar.
Scriptet fungerar perfekt på den gamla databasen men nu när jag gjort om det så att fälten passar nya databasen så strular det ur ordentligt.
Jag har gjort om koden så mycket så nu vet jag inte hur den såg ut från början :).
Men här är i alla fall det felmedelande som kommer fram nu, har gått igenom en hel drös andra men nu fastnar det här. Det fungerar i alla fall med den gamla databasen, men inte med den nya.

Feltyp:
ADODB.Connection (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.
/beg/visa.asp, line 51

Koden:

<html>
<body>

<!-- #include virtual="/beg/adovbs.inc" -->

<%
DIM dat , dat2 , dat3
dat = DateAdd("d", -120, date)
dat2 = DateAdd("d", -180, date)
dat3 = DateAdd("d", -360, date)

%>
<%

Set Connect = CreateObject("ADODB.Connection")
connect.provider = "Microsoft.jet.oledb.4.0"
connect.Open "data source=" & server.mapPath("lager.mdb")
Set RecSet = CreateObject("ADODB.Connection")

If Request.QueryString("datum")= "d120" OR Request.QueryString("datum")= "d180" OR Request.QueryString("datum")= "d360" Then

If Request.QueryString("datum") = "d120" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

ElseIf Request.QueryString("datum") = "d180" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat2 & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

ElseIf Request.QueryString("datum") = "d360" Then
d = "SELECT fltRegnr, fltArsmodell, fltVagnspec, fltFarg, fltStartdatumlager, fltInbytssalj FROM tblBil WHERE tblBil.fltStartdatumlager BETWEEN #" & dat3 & "# AND '2001-01-01' ORDER BY fltStartdatumlager ASC"

End if

RecSet.Open d, Connect, adOpenStatic, adLockOptimistic
%>
<table border="0" width="auto">

<tr>
<td colspan=6><center><b>Uppdaterad <%=Date%></b></center>
</tr>

<tr bgcolor="yellow">
<td><B>Reg. nr</B></td>
<td><B>Årsm</B></td>
<td><B>Vagnspecifikation</B></td>
<td><B>Färg</B></td>
<td><B>Inbyt. Säljare</B></td>
<td><B>Indatum</B></td>
</tr>

<% Do Until RecSet.EOF %>
<tr>
<td><%= RecSet("fltRegnr")%></td>
<td><%= RecSet("fltArsmodell")%></td>
<td><%= RecSet("fltVagnspec")%></td>
<td><%= RecSet("fltFarg")%></td>
<td><%= RecSet("fltInbytssalj")%></td>
<td><%= RecSet("fltStartdatumlager")%></td>
</tr>

<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close

End if
%>

</tr>
</table>
</body>
</html>

Av mAngAn_

Fungerade perfekt det, måste ha missat någon ( eller " eller något när jag testade det :).

Tack så hemskt mycket för all hjälp i alla fall, nu ska jag förhoppningsvis klara resten själv.

Av mAngAn_

Det där fungerade ju kalas bra, bara att jag fick ändra sökvägarna så att scriptet hittade filerna. Satan va stabil du är på asp/vb.

Nu borde det vara den enkla biten kvar, att göra frågor så jag får ut den infon som ska visas, tack så mycket.

Edit:
Hur gör jag för att lägga in en sökväg till skv txt filen som ser ut så här t.ex \mapp\skvfil.txt eller bara filnamnet, istället för att ha med hela sökvägen. Har testat lite med att göra som databas kopplingne med server.mappath men jag får det inte att fungera.

set filesys = CreateObject("Scripting.FileSystemObject")
set readfile = filesys.OpenTextFile("C:\Inetpub\wwwroot\skv\lager2.txt", 1, false)

readfile.Skipline
content = readfile.ReadAll
readfile.close
'Ny rad för att fixa att det inte är ett ; på slutet av varje rad
content = replace(content, vbcrlf, ";")
arrInfo = split(content, ";")

dim addera
Set Connect = CreateObject("ADODB.Connection")
connect.provider = "Microsoft.jet.oledb.4.0"
connect.Open "data source=" & server.mapPath("lager.mdb")