在vb中写交叉表查询语句,大家帮我看看错在什么地方?

gisgeoboy 2003-10-15 09:22:13
部分程序如下:data1.RecordSource ="TRANSFORM Sum(Teatotal.课时) AS 课时之sum"& _
SELECT Teatotal.教师编号, Teatotal.姓名, Teatotal.学年"& _
" From Teatotal"& _
" Where (((Teatotal.教师编号) = "1111"))"& _
" GROUP BY Teatotal.教师编号, Teatotal.姓名, Teatotal.学年"& _
" PIVOT Teatotal.月份"
执行时错误如下:由于Microsoft jet数据库引擎含有一个无效的数据类型的字段,导致它不能执行SQL语句。
这是怎么回事?大家帮我看看
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gisgeoboy 2003-10-19
  • 打赏
  • 举报
回复
或者用另外一种方式,实现上述效果也行,不用交叉表查询的SQL如何实现?
gisgeoboy 2003-10-18
  • 打赏
  • 举报
回复
那就麻烦这位大哥了,小弟万分感谢,最好能用交叉表的方式写出来。
wea1978 2003-10-17
  • 打赏
  • 举报
回复
哦,我建议是你先定义一个二维数组,然后分别给对象赋值,或者你要print到即时窗口,或者print到打印机上,都是可以的,因为你是要得到一条记录,不用去那样做的。做程序是往简单的方向去做,你说呢?要得到你的结果并不一定要用你的那种交叉查询方式的。
如果一定要那个方式,请再回复(没用过,目前正在尝试)
gisgeoboy 2003-10-17
  • 打赏
  • 举报
回复
我要得结果是这样的:比如这样几条记录
学号 姓名 课程名称 成绩
111 Tom 语文 88
111 Tom 数学 56
111 Tom 英语 90
我要做一个交叉表查询,将它放成一条记录,查询后结果应如下:
学号 姓名 语文 数学 英语
111 Tom 88 56 90
其中学号,姓名作为行标题;课程名称作为列表题;成绩是值
我在Access中可以实现这种结果,但在vb中就不行。
hhjjhjhj 2003-10-17
  • 打赏
  • 举报
回复
这种问题主要靠自己,别人很难帮的
从简单到复杂,一步一步试啊
去掉TRANSFORM
去掉GROUP BY
。。。。
wea1978 2003-10-17
  • 打赏
  • 举报
回复
应该不会呀,我在查询分析器里面运行过的,没什么错误呀。
说一下你要的结果看看
gisgeoboy 2003-10-17
  • 打赏
  • 举报
回复
wea1978(川):还是不行,select语句有错误,执行不了。
逍遥鹰王 2003-10-16
  • 打赏
  • 举报
回复
括号的级次不对!
gisgeoboy 2003-10-16
  • 打赏
  • 举报
回复
怎么办?还是不行,大家还有别的办法吗?
我按wea1978(川)的写法试了,错误信息是TRANSFORM 语句语法错误。
wea1978 2003-10-16
  • 打赏
  • 举报
回复
用select试试,看看能否达到结果:
select Sum(Teatotal.课时) AS 课时之sum select 教师编号, 姓名, 学年 From Teatotal.PIVOT.月份 Where 教师编号= '1111' GROUP BY 教师编号, 姓名, 学年
lijinqiang 2003-10-15
  • 打赏
  • 举报
回复
可能是你哪个字段搞错了
你表有什么字段都列出来看看!
wea1978 2003-10-15
  • 打赏
  • 举报
回复
尝试:所有已知数据采用单引号:
Data1.RecordSource = "TRANSFORM Sum(Teatotal.课时) AS 课时之sum ,(SELECT Teatotal.教师编号, Teatotal.姓名, Teatotal.学年 From Teatotal Where (Teatotal.教师编号) = '1111') GROUP BY Teatotal.教师编号, Teatotal.姓名, Teatotal.学年 PIVOT Teatotal.月份"

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧