华表cell控件打开数据库,为何连接acess可以,连接SQLserver不行????
简单的代码如下:
把OpenDatabase 中连接字符串改为用jet4.0连接acess数据库就可以。
???????????????????
Public Sub openDB()
Cell1.ResetContent
Cell1.OpenDatabase ("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=superlock;Data Source=WXYU\WXYU")
Dim FieldCount As Long '字段数
Dim strSQL As String
Dim l As Long'如果表名中有空格,则在表名前后加上“[” 和“]”
If (InStr(strSQL, " ") > 0) Then
strSQL = "[" & strSQL & "]"
End If
strSQL = "select * from Card"
j = 1
Cell1.CloseRowset
l = Cell1.OpenRowset(strSQL, 3, 1) '打开记录集
Cell1.MoveFirst
'If l = 0 Then Unload Me
FieldCount = Cell1.GetFieldCount '必须打开RowSet后才能获得想要的值
Cell1.SetCols FieldCount + 1, 0For i = 1 To FieldCount
'在列标上写上字段名
Cell1.S i, 0, Cell1.GetFieldName(i)
Next
End SubPrivate Sub Form_Load()
openDB
End Sub
简单的代码如下:
把OpenDatabase 中连接字符串改为用jet4.0连接acess数据库就可以。
???????????????????
Public Sub openDB()
Cell1.ResetContent
Cell1.OpenDatabase ("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=superlock;Data Source=WXYU\WXYU")
Dim FieldCount As Long '字段数
Dim strSQL As String
Dim l As Long'如果表名中有空格,则在表名前后加上“[” 和“]”
If (InStr(strSQL, " ") > 0) Then
strSQL = "[" & strSQL & "]"
End If
strSQL = "select * from Card"
j = 1
Cell1.CloseRowset
l = Cell1.OpenRowset(strSQL, 3, 1) '打开记录集
Cell1.MoveFirst
'If l = 0 Then Unload Me
FieldCount = Cell1.GetFieldCount '必须打开RowSet后才能获得想要的值
Cell1.SetCols FieldCount + 1, 0For i = 1 To FieldCount
'在列标上写上字段名
Cell1.S i, 0, Cell1.GetFieldName(i)
Next
End SubPrivate Sub Form_Load()
openDB
End Sub
数据库名 : TMAP_PLAN我连接成功了
Cell1.S i, 0, Cell1.GetFieldName(i)????? 少一个参数不过你要这样写报表的原因我不明白
好象不怎么可取