Author |
Topic  |
|
wolfgardian
Starting Member
12 Posts |
Posted - 24 September 2006 : 04:16:13
|
Hi I'm getting this erroo with the upgrade to 3.4.06
In the Members Details Configuration, the Age row has a big black box and this:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'cInt'
(forum address)/admin_config_members.asp, line 148
can you post a fix please
|
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 04:20:13
|
well, before we can post a fix we would require some more information from yu like
1) what database are you using 2) have you added any mods to the base code
then we can ascertain what the problem is, a first gues would indicate an incorrect value in your M_AGE field in the database, but please answer the questions above and we will investigate |
 |
|
wolfgardian
Starting Member
12 Posts |
Posted - 24 September 2006 : 04:26:48
|
I'm using access 2003 I've added no mods I updated from 3.4.05 to 06 had no error message upgrade went good too, wasn't untill I clicked on Members Details Config I got the error.
Thanks guys |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 04:38:08
|
are you able to download your database and have a look in the members table at all ?
The part of the code that is giving you an error is basically looking in the M_AGE column to determine what the minimum age of any users registered on the forum is, my guess is that maybe it has found a NULL value possibly, but can't be sure unless you can check.
|
 |
|
wolfgardian
Starting Member
12 Posts |
Posted - 24 September 2006 : 04:58:32
|
in Database under Forum_Members M_Age there are some listings but not all have an age. |
Edited by - wolfgardian on 24 September 2006 05:25:02 |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 06:39:22
|
I have discovered what the problem is, the problem is caused by what we commonly call stupid user syndrome, your users have been filling in the AGE field with things like ? and > 30 etc rather than their actual age 
to fix it, look for the following code (lines 147-149) of admin_config_members
if not rs.eof then
intYoungest = cInt(rs("M_AGE"))
end if
and replcae it with the following
if not rs.eof then
intYoungest = 0
on error resume next
intYoungest = cInt(rs("M_AGE"))
err.clear
end if
unfortunately it is not a great fix, but will trap the error |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 06:45:17
|
will think of a permanent fix later |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 07:02:42
|
you could change your forum to use Date of Birth instead of age, this will get rid of the problem also  |
 |
|
wolfgardian
Starting Member
12 Posts |
Posted - 24 September 2006 : 07:36:30
|
crash and burn :)
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/Forum/admin_config_members.asp, line 148
intYoungest = 0; ---------------^
I removed the ; and wala works :) thanks guys for the help what I would love though a active members list on the bottom of the forum BUT I'd like to see moderators online green Admins Orange and users white I have tried the mods but ewww not very good. can you guys have a go please :) |
Edited by - wolfgardian on 24 September 2006 07:40:30 |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 24 September 2006 : 07:44:10
|
sorry, not sure where the ; came from |
 |
|
Shaggy
Support Moderator
    
Ireland
6780 Posts |
Posted - 25 September 2006 : 04:45:05
|
There have been changes made in v3.4.06 to prevent members from entering non-numerical values for their age. This however does not solve the problem of those who have previously entered a non-numerical value. An alternative solution to what Huw has already posted is to find the following on line 146 and add the code in green:set rs = my_Conn.execute(TopSQL("SELECT M_AGE FROM " & strMemberTablePrefix & "MEMBERS WHERE M_AGE <> '' AND left(M_AGE,1) IN (0,1,2,3,4,5,6,7,8,9) AND M_STATUS <> 0 ORDER BY M_AGE ASC", 1)) Not the prettiest solution ever, unfortunately - if you're using MSSQL, you could use the ISNUMERIC function instead.
|
Search is your friend “I was having a mildly paranoid day, mostly due to the fact that the mad priest lady from over the river had taken to nailing weasels to my front door again.” |
 |
|
HuwR
Forum Admin
    
United Kingdom
20595 Posts |
Posted - 25 September 2006 : 05:29:53
|
actually I tried with the Isnumeric function in MSSQL and that doesn't work either it thinks that a - is a number for some reason, however, the query you propose still does not work, because they are strings ordering them does not work since 10 and 100 come above 2,3,4,5,6,7,8, and 9  |
 |
|
Shaggy
Support Moderator
    
Ireland
6780 Posts |
Posted - 25 September 2006 : 05:36:17
|
And the other "fix" I posted won't work if someone has entered a non-numerical value that has a digit as it's first character - looks like we're going to have to ponder on this one a bit more 
|
Search is your friend “I was having a mildly paranoid day, mostly due to the fact that the mad priest lady from over the river had taken to nailing weasels to my front door again.” |
 |
|
modifichicci
Average Member
  
Italy
787 Posts |
|
Davio
Development Team Member
    
Jamaica
12217 Posts |
Posted - 25 September 2006 : 16:17:42
|
That won't fix the existing values in the database. |
Support Snitz Forums
|
 |
|
|
Topic  |
|