1\我要建立一个表 要有个ID项能随着我插入数据自动增加(ID作为主关键字) 这样的表该怎么建立
2\如果没办法建立以上表 有什么办法让我没插入一条记录就在ID中加一呢谢谢
2\如果没办法建立以上表 有什么办法让我没插入一条记录就在ID中加一呢谢谢
解决方案 »
- 急需网格控件,那里有下载呀!
- 会xmlhttp的快进来啊,送100分加100元
- 请教:怎么在图片上显示文字?
- 求救:vb6中如何调用access2000中带参数的查询?
- 如何实现类似微软WINDOWS中资源管理器中的窗体布局
- http://www.csdn.net 这个连接在窗体中怎样一点就连到网站上?
- 怎么样在一个Picture控件上更换一个图片?也就是Picture1.Picture的值怎么写?
- 求救:关于下载sheridan公司的控件,参与即有分,快来!!!
- ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥球赛就要开始了,中国队加油啊!!!
- 我用VB做了一个OCX,想放在Web页面上,请问如何把参数传到这个OCX中去?
- 请教一个简单问题
- 做的学生管理系统的一些问题
bbb varchar(20),
) ON [PRIMARY]
Dim pstr As String '定义该变量是为了后面的书写方便
Dim DataBaseName As String 'DataBaseName变量用来获取用户输入的文件名
DataBaseName = "D:\file\" & nian & ".mdb"
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataBaseName '不能把这里的4.0改为3.51
If PathFileExists("d:\file\" + CStr(nian) + ".mdb") = 0 Then
Dim cat As New ADOX.Catalog
cat.Create pstr '创建数据库
Dim tbl(1 To 12) As New Table
cat.ActiveConnection = pstr For nummonth = 1 To 12
If nummonth < 10 Then
tbl(nummonth).Name = "0" + CStr(nummonth) '表的名称
Else
tbl(nummonth).Name = CStr(nummonth) '表的名称
End If
tbl(nummonth).Columns.Append "MyID", adInteger
tbl(nummonth).Columns.Append "Sent", adBoolean
tbl(nummonth).Columns.Append "JCD_Num", adInteger '表的第一个字段
tbl(nummonth).Columns.Append "ttime", adVarWChar, 14 '表的第二个字段
tbl(nummonth).Columns.Append "freq", adInteger '表的第三个字段
tbl(nummonth).Columns.Append "Cq", adSingle, 2 '表的第三个字段
tbl(nummonth).Columns.Append "flag_cq", adBoolean '表的第三个字段
tbl(nummonth).Columns.Append "v5", adSingle, 2 '表的第三个字段
tbl(nummonth).Columns.Append "flag_v5", adBoolean '表的第三个字段
tbl(nummonth).Columns.Append "modulation", adSingle, 2 '表的第三个字段
tbl(nummonth).Columns.Append "flag_mod", adBoolean '表的第三个字段
tbl(nummonth).Columns.Append "temp", adSingle, 2 '表的第三个字段
cat.Tables.Append tbl(nummonth) '建立数据表
Dim kyForeign As New ADOX.Key
kyForeign.Name = "MyID"
kyForeign.Type = adKeyPrimary
kyForeign.Columns.Append "MyID"
cat.Tables(tbl(nummonth).Name).Keys.Append kyForeign
Set kyForeign = Nothing
Set tbl(nummonth) = Nothing
Next nummonth
Set cat = Nothing
End If
''''声明:
''''1.本站所有代码的版权归原作者所有,如果你使用了在本站下载的源代码
'''' 引起的一切纠纷(后果)与本站无关,请您尊重原作者的劳动成果!
''''2.若本站在代码上有侵权之处请您与站长联系,站长会及时更正。
''''网站:http://www.dapha.net
''''论坛:http://www.5ivb.net
''''Email:[email protected]
''''CopyRight 2001-2005 By dapha.net
''''整理时间:2004-7-31 22:10:30Option Explicit
Public Enum DataBaseVer
ACCESS97 = 1
ACCESS2000 = 2
End Enum
Private obj_Cat As ADOX.Catalog
Private obj_table As ADOX.Table
Dim obj_col As Column
Private m_DBName As String ''''数据库名称
Private m_DBVer As DataBaseVer ''''数据库版本
Private strConnection As String ''''数据库连接驱动
Public Property Let DataBaseName(ByVal value As String)
m_DBName = value
End Property
Public Property Let SetDataBaseVer(ByVal value As DataBaseVer)
m_DBVer = value
End Property
Public Function CreateDataBase(Optional DataBaseName As String = "", Optional p_DBVer As DataBaseVer, Optional OverWrite As Boolean = False) As Boolean
''''DataBaseName 数据库名称
''''数据库版本 1.ACCESS97 2.ACCESS2000
''''OverWrite 是否重写原有的数据库 False 不需要 True 需要
On Error GoTo errorhand
If p_DBVer > 0 Then m_DBVer = p_DBVer
If Len(Trim(DataBaseName)) > 0 Then m_DBName = DataBaseName
Select Case m_DBVer
Case 1
strConnection = GetDBConnection
Case 2
strConnection = GetDBConnection(True)
Case Else
Err.Raise 30001, "TCreateDataBase", "数据库选择参数未选"
End Select
If Len(Trim(m_DBName)) = 0 Then
Err.Raise 30002, "TCreateDataBase", "文件名错误---空的文件名"
End If
obj_Cat.Create strConnection
CreateDataBase = True
Exit Function
errorhand:
If OverWrite Then
Kill m_DBName
Resume ''''返回错误发生处
Else
Err.Raise 30006, "TCreateDataBase", "数据库己存在"
End If
CreateDataBase = False
End Function
Public Function CrateTable(ByVal TableName As String, Optional OverWrite As Boolean = False)
On Error GoTo errhand:
If obj_Cat Is Nothing Then
Err.Raise 30003, "TCreateDataBase----CreateTable", "对象不存在"
Exit Function
End If
Set obj_table = New Table
obj_table.Name = TableName
obj_Cat.Tables.Append obj_table Exit Function
errhand:End Function
Private Function GetDBConnection(Optional ByVal value As Boolean = False) As String
If value Then
GetDBConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & m_DBName & ";"
Else
GetDBConnection = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=" & m_DBName & ";"
End If
End Function
Private Sub Class_Initialize()
Set obj_Cat = New ADOX.CatalogEnd Sub
Public Function CreateColumn(ByVal ColName As String, ByVal pType As DataTypeEnum, _
Optional ByVal Size As Integer = 255, Optional ByVal AutoInc As Integer = 0, _
Optional ByVal Nullable As Integer = 0, _
Optional ByVal Defaultvalue As Variant = vbEmpty) As Boolean
''''ColName 列名
''''pType 数据类型
''''Size 类型大小
''''AutoInc 如果是int型,是否设置为自动增长
''''Nullable是否允许为空 0,默认(必填项) 1 允许为空
''''Defaultvalue 默认值 由于时间原因,只能这样应付着了 需要和类型配合否则有可能出错
''''如:.CreateColumn "Age", adInteger, , , , 4 Integer型,默认值 4
'''' .CreateColumn "UserName", adVarWChar, 20, , , "wangfeng" 文本型,默认值 wangfeng
On Error GoTo CreateColumn_Error
Set obj_col = New ADOX.Column
With obj_col
.Name = ColName
.Type = pType
If .Type >= adVarChar Then .DefinedSize = Size
Set .ParentCatalog = obj_Cat
If .Type = adInteger Then .Properties("Autoincrement") = (AutoInc = 1)
.Properties("Nullable") = (Nullable = 1)
If Defaultvalue <> vbEmpty Then
.Properties("Default").value = Defaultvalue
End If
End With
obj_table.Columns.Append obj_col
CreateColumn = True
Exit Function
CreateColumn_Error:
CreateColumn = False
'''' Err.Raise 30004, "TCreateDataBase----CreateColumn", "未知错误"
End Function
Private Sub Class_Terminate()
Set obj_col = Nothing
Set obj_table = Nothing
Set obj_Cat = Nothing
End Sub
使用此类,需要引ADOX对象