Av någon anledning så vill denna kod inte hämta värdet somligger i fältet note_ID, det finns data i fältet men vad som än står där så returneras värdet 0.
Tabellen är en qry av ett flertal tabeller i ACCESS xp.
Function presentActivity(unid)
Dim strTHTML
Dim strSQL
strSQL = "SELECT * FROM qryActivity WHERE activity_ID=" & unid
Set objConn = server.CreateObject("ADODB.Connection")
Set objRs = server.CreateObject("ADODB.Recordset")
objConn.Open (strDatabase) ' Opens database, strDatabase public
objRs.Open strSQL,objConn,1,2 ' Opens Recordset
Dim name
Dim f_name
Dim s_name
Dim username
Dim note
Dim statusText
Dim description
Dim priority
customer_ID = objRs("customer_ID") 'public
noteID = objRs("note_ID") 'public
name = objRs("name") 'Company name
f_name = objRs("f_name") 'Contact f_name
s_name = objRs("s_name") 'Contact f_name
username = objRs("username") 'Customer owner short username
statusText = objRs("statusText") 'Text for Activity status
description = objRs("description") 'Text for describing type of activty
priority = objRs("priority") 'Priority of activity
objRs.Close
objConn.Close
note = insertNote(noteID) 'Gets Notes from table Notes in db.
strTHTML = strTHTML &_
"<table><tr>" &_
"<td align=""right"">Företag:</td><td class=""boxed"">" & name & "</td>" &_
"<td align=""right"">Kontakt:</td><td class=""boxed"">" & f_name & " " & s_name & "</td>" &_
"<td align=""right"">Kundanvarig:</td><td class=""boxed"">" & username & "</td>" &_
"<tr><td colspan=""6"">" & note & "</td></tr>" &_
"<td align=""right"">Status:</td><td class=""boxed"">" & statusText & "</td><td align=""right"">Angående:</td><td class=""boxed"">" & description & "</td>" &_
"<td align=""right"">Prioritet:</td><td class=""boxed"">" & priority & "<td>" &_
"</tr></table>"
presentActivity = strTHTML
End Function
strSQL = "SELECT * FROM qryActivity WHERE activity_ID=" & unid
2 inserNote()
Hämtar texten note ur en annan tabell som är gemensam för ALLA tabeller som innehåller en note, detta för att spara plats, då kanske inte alla poster har en note...
I tabellen finns det flera fält med samma namn från olika tabeller...
men dom står som activity.note_ID, contact.note_ID och customer.note_ID men det går inte att hämta upp värdet av dem med objRs("activity.note_ID") osv utan den sväljer enbart objRs("note_ID") men då levererar den fel värde...
Så jag har löst det tillfälligt... MEN hur löser jag det för att få det att funka med ALLA dessa fälten? utan att göra om hela djävla databasen (det är för längt gånget för att jag skall hinna med det...
Stjärnan suger "fet elefantballe" (citat från en kändis).
Använd inte stjärnan.
***
Du kan DIMa kod på detta sättet:
Dim name, f_name, s_name, username, note, statusText ... osv
Samma sak med att tilldela värde,
name = myRow(1,0) : f_name = myRow(2,0) : s_name = myRow(3,0) : username = myRow(4,0) : note = myRow(5,0) : statusText = myRow(6,0) ... osv
***
Jag håller med dig, 30 poster är många poster och det tar mycket plats. Men om du inte skriver all kod i höjdled utan även utnyttjar bredden blir det lite mer överskådligare.
Det är bättre du skriver så här:
SQL = "SELECT ID, name, f_name, s_name, username, note, statusText ... FROM [minTabell]"
set mySQL = Conn.Execute(SQL)
och sen som ovan,
name = mySQL(1) : f_name = mySQL(2) : s_name = mySQL(3) : username = mySQL(4) : note = mySQL(5) : statusText = mySQL(6) ... osv