VB+access统计数据库指定字段个数问题

数据库中有两个表 A 和 B,A,B里面都有同一个字段id,在A表里面id是主键,在B里面id不是主键,B里面的主键是id,key,name,num这四个。

我在B表格里通过key,name,num能确定唯一的id了,但是这个id可能有很多,假设我通过B表格确定了10个id,A表里面肯定也有对应的这10个id的数据,A表里面有一个字段名叫choose,choose这个值有3种,为1,2,3。我如何能统计刚才从B表里面筛选出来的那10个id,在A表里面对应的10条数据中choose字段为1的有多少个,2的多少个,3的多少个。
一楼的,我是先从B里面搜索id,这个id值不一定是多少,这样case不合适,要是1000条数据那不累死了么?

第1个回答  2009-05-27
select id,choose=
case
when 1 then select count(A.choose) from A,B where A.id=B.id and a.choose=1
when 2 then select count(A.choose) from A,B where A.id=B.id and a.choose=2
when 3 then select count(A.choose) from A,B where A.id=B.id and a.choose=3
end
from A
order by id

在VB中添加ACCESS字段时,为什么报定义的字段太多?求帮助
access数据表最大的字段数是255个,当循环累积添加的字段数大于该数,自然就会超限,导致系统报错。为了避免发生这种情况,建议对检索出来的记录集设定行数限制 例如select top 210 ...或设置代码在循环总数达到某个数后跳出循环。

用VB计算access的表里符合条件的个数
VB中连接 Access 数据库,直接用 Data 数据控件就可以了,其在设置上也比较简单.如:窗体中放置 Data1 数据控件 在 Form_Load()事件中初试化数据控件并连接数据源 With Data1 .DataName="数据文件路径及名称" 如:"C:\\zbc.mdb".RecordSource="SELECT * FROM AB".Refresh End With 就OK了 要想...

vb 在text中显示access数据库中的某一例数值的总数
假设使用adodc连接数据库的话 Adodc1.RecordSource = "select sum(收入) as 收入合计 from 你的表名'也可以加上需要的条件 Where 你需要的条件 =" & 条件1 & "and 部门 = '" & 条件2 & "'"Adodc1.Refresh Adodc1.Recordset.MoveLast 你的text.text = Adodc1.Recordset.Fields("收入合计")...

关于VB查询ACCESS数据库的问题
在编程中,我们需要处理和查询数据库以获取所需数据。对于查询ACCESS数据库并获取特定字段内容的问题,我们需要定义一个ADODB.Recordset对象来执行操作。这可通过以下代码实现:定义ADODB.Recordset对象:Public rs As New ADODB.Recordset 接下来,使用Open方法打开查询。这里,我们查询数据库中的wjy字段,相应...

Vb6.0+Access 如何查询数据库中某字段的数据有几个~?比如~姓名字段的...
用聚合函数和分组 select 姓名,count(姓名) as 数量 from 表名 where group by 姓名 显示为 姓名 数量 A 2 B 2 C 2

VB中计算access表中某列不同内容出现的次数
如图,A列内容出现的次数在B列显示。在B1输入“=COUNTIF(Sheet1!A:A,A1)”,然后公式用填充柄下拉即可。下面是VB的方法:加入用data(取名为data1)控件连接数据库的话,用DBGrid控件显示数据,筛选性别为男的数据,统计个数,在DBGrid控件中显示出来。先将DBGrid控件的datasource属性设置为data1,data...

我想用VB的文本框显示access数据库某行某列的一个数据,该怎么做?
最好有查询定位条件,比如这一行的index索引项的值,知道字段名(确定列),用VB连接数据库,sql查询语句查询,将查询出的某行某列的数据显示到文本框就可以了,

VB6.0,关于ACCESSS的数据库查询问题,假设有几百个字段,怎么找出字段...
'假定数据表记录集已读取到对象变量rs中Dim zd As ObjectFor Each zd In rs.Fields If zd.Name <> "ID" And Val(zd.Value) = 1 Then Print zd.Name '这个就是找到的字段名 End IfNext 另外,你这种数据库结构不够科学,应该从横向结构改为纵向结构(即把1、2、3……设为一...

vbAccess数据库A字段存题,B字段存答案,随机抽取20个内容,A输出到text1...
来个笨方法:1、打开记录集 2、记录集MOVEFIRST 3、rnd * 记录总数 后 取整 4、do until 循环记录集 ,循环次数由随机数确定,达到循环次数后,取出问题后再重复步骤2,直到达到20条。注意如有重复记录,也终止循环而重复步骤2

怎样用VB调用ACCESS中建立好的数据库中的数据?
上面那个是VB连接数据库的必要的一个部件,我说一下大致的步骤吧 1.先把上面第一个部件拖到Frm1上,接着新建一个模块并输入下面这串代码 红色框内是你的数据库名称 打完之后先保存模块才能生效 2.在当前Frm1里面建几个text分别显示你数据库里面某个表里某个字段的数据 3.将第一个图中第二个部件...

相似回答