Varför får jag detta felmeddelandet typ blandnings fel innebär att Hej igen! >Hej igen! Hej igen!! TillID är ett tal (räknare). Fältet är alltså inte ett textfält med tal i? Bara en lite notering på din rubrik. Skulle ju varit bättre om du kort beskrev ditt problem istället för att svära. Jo jag har hyfs, bara det att jag var så förbannad när jag skrev så d va därför.. Något åt detta hållet skulle jag nog göra. OBS torrkodat så fel kan finnas men du borde få en ide på en lösning. Din kod funkade fint fast den visar fortfarande 0 på inloggnings sidan Jag utgår från att koden ovan finns på din inloggningssida. varför står d hur gör jag för att kolla id nummret dåFaan vad störande!!
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/Pp/includes/funktioner.asp, line 16
På rad 16 står det
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimisticSv: Faan vad störande!!
du försöker skriva sträng som Integer
och/eller skriver tal som sträng
dvs.
du försöker skriva en sträng till ett fält som
är gjort som TAL/NummerSv: Faan vad störande!!
Varför funkar det inte att skriva en sträng till ett Tal/Nummer
Det jag har koden till är så att man kan skicka meddelanden medlemmar i mellan. Hur ska jag göra för att få det att fungera ??
Vore glad för hjälp
Tack på hörhand
MVH
//JonnieSv: Faan vad störande!!
>Varför funkar det inte att skriva en sträng till ett Tal/Nummer
för att då förväntar sig databasen ett nummer, och om du kör in en sträng
så blir det fel...
>Det jag har koden till är så att man kan skicka meddelanden
>medlemmar i mellan. Hur ska jag göra för att få det att fungera ??
>Vore glad för hjälp
>Tack på hörhand
>MVH
>//JonnieSv: Faan vad störande!!
Så här ser koden ut när jag ska läsa meddelanden: (då får jag ett felmeddelande vid RecSet.Open Visa, adOpenStatic, adLockOptimistic hela tiden även om jag provar med 3 andra koder)
<%
Dim Connect
Dim Visa
Dim RecSet
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("data/messages.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "Select * From message Where TillID = "&Session("id")
SET RecSet = Connect.Execute(Visa)
%>
Så här ser koden ut på framsidan där man ser om man fått meddelanden lr ej (jag includedar en fil som heter funktioner.asp):
<%
Dim Funktion1
Funktion1 = Funk_nya_mess%>
<%If Session("count")=1 Then%>
nytt
<%Else%>
nya
<%End If%>
<%If Session("count")=1 Then%>
meddelande
<%Else%>
meddelanden
<%End If%>
Så här ser funktioner.asp ut:
<%
Function Funk_nya_mess
Dim Conncet
Dim Visa
Dim RecSet
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("data/messages.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
' Öppnar Tabellen
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "Select * From message WHERE tillID ='%" & id & "%' AND read = 0"
SET RecSet = Connect.Execute(Visa)
count = 0
Do Until RecSet.EOF
count=count+1
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Session("count") = count
Response.Write count
End Function
%>
Det är väl allt för skicka meddelande funkar men man kan inte läsa lr kolla om man fått nytt meddelande för då blir det ett sånt där error som jag har skrivit om ovan.
Vore tacksam för hjälp
Tack på förhand
MVH
//JonnieSv: Faan vad störande!!
Då fungerar denna:
Visa = "Select * From message Where TillID = "&Session("id")
Denna fungerar inte. Vad vill du göra med %?.
Visa = "Select * From message WHERE tillID ='%" & id & "%' AND read = 0"
Om det är tal du söker ska det se ut så här:
Visa = "Select * From message WHERE tillID = " & id & " AND read = 0"
Hittar inte denna kodrad i din kod...??
RecSet.Open Visa, adOpenStatic, adLockOptimistic
/JanneSv: Faan vad störande!!
Saknar du hyfs pojk? ;O)Sv: Faan vad störande!!
Nu åter till mitt problem. Jag LÖSTE d fast nu har jag ett NYTT problem.
På sidan man kommer till när man loggar in så har jag en liten ruta där det står hur många nya meddelanden man har.
Fast där står det 0 hela tiden.
det är filen FUNKTIONER.ASP som har hand om hela den grejen och enligt mej så är det nog inte nåt fel.
Så här ser koden ut till FUNKTIONER.ASP:
<%
Function Funk_nya_mess
Dim Connect
Dim Visa
Dim RecSet
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("data/messages.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
' Öppnar Tabellen
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "Select * From message WHERE tillID ='" & id & "' AND read = 0"
SET RecSet = Connect.Execute(Visa)
count = 0
Do Until RecSet.EOF
count=count+1
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Session("count") = count
Response.Write count
End Function
%>
Och såhär ser koden ut till rutan där texten ska visas:
Du har
<%
Dim Funktion1
Funktion1 = Funk_nya_mess%>
<%If Session("count")=1 Then%>
nytt
<%Else%>
nya
<%End If%>
<%If Session("count")=1 Then%>
meddelande
<%Else%>
meddelanden
<%End If%>
i inboxen!
Vore tacksam för hjälp
Tack på förhand
MVH
//JonnieSv: Faan vad störande!!
Jag utgår från att tillID i databasen är ett text fält annars får du göra liten ändring i SQL-uttrycket
<code>
<%
Function Funk_nya_mess(UserID)
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("data/messages.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
stmSQL = "Select Count(tillID) As AntalNya From message WHERE tillID ='" & UserID & "' AND read = 0"
Set tblTemp = Connect.Execute(stmSQL)
If Not tblTemp.EOF Then
intCount = tblTemp("AntalNya")
End If
Set tblTemp = nothing
Connect.Close
If intCount = 0 Then
strSvar = "0 nya meddelande"
Elseif intCount = 1 Then
strSvar = "1 nytt meddelande"
Elseif intCount > 1 Then
strSvar = intCount & " nya meddelanden"
End If
Funk_nya_mess = strSvar
End Function
%>
<%Response.Write Funk_nya_mess("2121")%>
</code>
/JanneSv: Faan vad störande!!
Varför gör den d..?
MVH
//JonnieSv: Faan vad störande!!
Är tillID tal eller text?
Om det är på inloggningssidan är det innan någon har loggat in eller efter? Hur vet koden vilken person (tillID) som det gäller? Skicka hela den felande sidan så är det lättare att hjälpa dig.
/JanneSv: Faan vad störande!!
2121 i Response.Write koden..?
vill du alltså ha hela inloggnings sidans kod..?
MVH
//JonnieSv: Faan vad störande!!
för
Response.Write Func_nya_mess"&Session("ID")
lr nåt sånt funkar ej
jag har testat 3 - 4 olika koder
MVH
//Jonnie