比如我的用户类型为:
Public Type 联系信息类型
姓名 As String
手机 As String
公司电话 As String
End Type
dim 联系方式0 as 联系信息类型
再对 联系方式0 赋值
然后我在access数据库中的 表1 中添加了一个字段:联系方式,现在的问题是:
1. 这个 联系方式 字段该设置为何种数据类型?
2. 我如何将 联系方式0 写入 access数据库中的 联系方式0?
3. 写入了又该如何读出来呢?
备注:我用的是adodb连接的数据库
请各位高手帮帮忙,问题解决后定会追加分数,谢谢各位!
这种方法固然可行,可我想要这一个字段存储多条数据,如果用这种方法怕是影响运行速度。
我想问下你的这段程序中哪里涉及到用户定义类型的数据了?
追答用户定义类型自己定义一个不就行了
Public Type 联系信息类型
姓名 As String
手机 As String
公司电话 As String
End Type
然后将之定义数据类型的姓名、手机、公司电话与Access数据段的姓名、手机、公司电话对应
我这是用的ADO对象操作ACCSSS数据库,没用ADO控件
你说的方法我都知道,我不想一个一个的对应,我想要一个字段解决问题,不知能否解决?
你说的对,我的明白。不过我还有个问题想请教下:
如果一条记录中对应多个姓名呢?比如说:
我的数据库是关于供应商信息管理的,在一个 供应商代码 下对应多个联系人及相关联系方式,我该怎么安排字段呢?可以把 数组 放到字段中吗?还是必须用分隔符把多条数据隔开,读的时候再拆分?
需要建立一个企业联系人表
字段为:企业id 、 联系人ID
查询某企业联系人信息的sql (假设企业ID为xxx)
select * from 联系人表 where 联系人ID in (select 联系人ID from 企业联系人表
where 企业id=‘xxx’ )
这个方法确实不错,不过不行啊,查不到记录。
能否帮忙修改一下,谢谢啦。
还有一个问题想顺便问下:我如何把这种查询到的记录赋给MSHflexGrid控件显示出来?要保证数据是一一对应的。
'名称 sub_InitFlg
'作者 morn Woo
'功能 通用表格列标题加载过程
'参数 sTableName 数据源(表或视图); oFlg 需要设定的表格对象,inoneedcol 不需要显示的列数
Sub sub_InitFlg(ByVal sTablename As String, oFlg As Object, Optional ByVal sNoNeedField = "", Optional ByVal iNeedCaption = 0)
Dim oRd As New ADODB.Recordset
Dim iA, iB
Dim sA
Dim frm As Form
If InStr(1, LCase(sTablename), "select") < 1 Then sA = " select * from " & sTablename Else sA = sTablename
oRd.Open sA, goConnect.dbConObj
With oFlg
.Clear
.Rows = 2
.cols = oRd.Fields.Count + 2
.ColWidth(0) = 200
.ColWidth(1) = 0
.FixedCols = 3
iB = 0
If sNoNeedField = "" Then
For iA = 2 To oRd.Fields.Count + 1
iB = iA - 2
If iNeedCaption Then
sA = goConnect.fun_ReturnValueNew("select ccaption from tablefieldinfo where upper(tablename)='" & UCase(sTablename) & "' and upper(cfieldname)='" & UCase(oRd.Fields(iB).Name) & "'")
Else
sA = oRd.Fields(iA - 2).Name
End If
.TextMatrix(0, iA) = sA
.ColWidth(iA) = frmSysMain.picLeft.TextWidth(sA) + 100
Select Case oRd.Fields(iB).Type
Case adDecimal, adDouble, adInteger, adNumeric, adSingle, adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt, adUnsignedSmallInt, adUnsignedTinyInt
.ColAlignment(iA) = flexAlignRightCenter
Case Else
.ColAlignment(iA) = flexAlignLeftCenter
End Select
Next
Else
End If
End With
oRd.Close
Set oRd = Nothing
End Sub
我是这么想的,既然可以将用户定义类型的数据写到文本文件中,那么应该也可以写到access中吧?
追答文本中 是随便写东西的!~
你写道ACCESS中 ACCESS用什么类型接收呢?
我是不知道可以接受这种的类型!~
怎么用VB来对ACCESS数据库读写,我想把表直接显示出来.
先插入一个模块,在模块里写代码 Public cn As ADODB.Connection Sub con()Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\数据库名.扩展名;Persist Security Info=False"(在一行里)End Sub 在窗体里写代码 call con...
怎样通过VB程序联接ACCESE数据库
要通过VB程序联接Access数据库,可以使用ADO(ActiveX Data Objects)或Data控件。首先,利用ADO或Data控件建立与Access数据库的连接。随后,通过ADO或Data控件将Access中的数据绑定到程序中相应的位置。ADO,即ActiveX Data Objects,是Microsoft提供的一种数据库访问组件。通过ADO对象,可以执行SQL查询、更新数...
VB编程如何实现ACCESS数据库记录的查询?
要查询数据库中的记录,首先需要创建一个连接对象,并使用其执行SQL查询语句。具体步骤如下:创建ADO连接对象并建立与数据库的连接。 创建一个命令对象,并设置其类型为“查询”。 在命令对象中编写SQL查询语句,例如:`"SELECT * FROM Students WHERE Age = '99'"`。 执行命令对象,并获取...
怎样用VB调用ACCESS中建立好的数据库中的数据?
首先你需要在部件中把这两个部件添加到工具栏中并将他们拖到窗口中 上面那个是VB连接数据库的必要的一个部件,我说一下大致的步骤吧 1.先把上面第一个部件拖到Frm1上,接着新建一个模块并输入下面这串代码 红色框内是你的数据库名称 打完之后先保存模块才能生效 2.在当前Frm1里面建几个text分别显...
关于VB查询ACCESS数据库的问题
定义ADODB.Recordset对象:Public rs As New ADODB.Recordset 接下来,使用Open方法打开查询。这里,我们查询数据库中的wjy字段,相应的SQL语句为"select wjy from zm"。确保连接参数正确赋值至conn变量。Open "select wjy from zm" ,conn 在查询完成后,检查结果集是否未到达尾部(EOF属性为False)。如果...
vb中如何调用Access数据表中的某一个记?
1. 首先,确保在项目中添加ADO控件。在“工程”菜单下的“部件…”选项中,选择并添加Microsoft ActiveX Data Objects 2.5 到工具箱。2. 将ADO控件拖至窗体,然后在代码编辑器中编写代码,通过ADO对象连接Access数据库。例如: `Dim con As ADODB.Connection`,`con.Open "Provider=Microsoft.Jet....
vb读写access数据库
nConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=111.mdb;Persist Security Info=False"nRs.Open "Select * form 表1 Teachers where ID=1", nConn, 3, 3 '读数据 Text1.Text = nRs("aaa").Value '修改数据 nRs("aaa").Value = "修改的数据"nRs.Update nRs.Close Set nRs...
怎么用VB读取ACCESS表中的某个值
rs.Open sql,conn,adOpenKeyset,adLockOptimistic If rs.EOF = True Then MsgBox "该同学不存在", , "提示"Else If rs.Fields(1) = Combo2.Text Then text.text = rs.Fields(2)Else MsgBox "科目错误", , "警告"Text2.Text = ""Text2.SetFocus End If rs就定义为第一句中那张表,rs...
VB如何往ACCESS的表中写入数据?
1、声明:Private conn As ADODB.Connection (连接数据库的ADO的Connecet 对象)Private Public strconn as string (连接字符串)Dim strSQLcmd AS String (SQL命令字符串)2、赋值 strconn= "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + App.Path + "\\XX.mdb; "SQL语句分两种情况:...
用VB调用到Access,如何读到表中的任意各单元的数据
这个我感觉没必要循环。如果你的表里的字段是固定的话,列的问题很好解决的,你想选择哪一列只要查询那个字段就可以了。至于列,我的想法是添加一个字段,类型为自动编号,这样的话,想选第几列只要这个字段的记录为几就可以了(比如你表里的ID号,但这样就不能删除记录,否则就不准了)。我水平有限...