MsfleGrid.textmatrix(i,i)在Datagrid中有对应的函数吗

WangYang123 2003-08-20 08:40:31
MsfleGrid.textmatrix(i,i)在Datagrid中有对应的函数吗
目的,保存Datagrid中的数据到相应的Access数据表之中。
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WangYang123 2003-08-20
  • 打赏
  • 举报
回复
Rs.CursorLocation = adUseClient
CN,
adOpenDynamic,
adLockBatchOptimistic
请解释具体含义,谢谢
didishu0807 2003-08-20
  • 打赏
  • 举报
回复
Rs.CursorLocation = adUseClient
Rs.Open "select * from table1", cnn, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = Rs
of123 2003-08-20
  • 打赏
  • 举报
回复
Datagrid是针对数据绑定设计的,所以它的操作面向记录集,而不是MsfleGrid的Cell。
例如Datagrid没有Rows属性来确定行数,也不能通过一个绝对行序号移动到一条记录。它的行属性都是针对当前可见行的。
所以从MsfleGrid改用Datagrid,要转换思维方式。
lihonggen0 2003-08-20
  • 打赏
  • 举报
回复

你也可以象这样赋值:

DataGrid1.Row = 2
DataGrid1.Columns(1).Text="sds"
lihonggen0 2003-08-20
  • 打赏
  • 举报
回复
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic

Set DataGrid1.DataSource = Rs


直接操作Rs比较方便
Option Explicit
Public txtSQL As String
Dim mrc As adodb.Recordset
'用户的读写权限标识
Dim mintRW As Integer
'状态条中显示的时间信息
Public msBarText As String
Public reportSQL As String
Public Sub RecordFind()
'
End Sub
Public Sub RecordRefresh()

'显示数据
msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")

ShowData
End Sub


Public Sub RecordAdd()
gintCKSmode = ADD
frmCKSetup1.Show 1
'ShowData
End Sub


'删除记录
Public Sub RecordDelete()
Dim sSQL As String
Dim intCount As Integer
Dim recTemp As adodb.Recordset
Dim MsgText As String


On Error GoTo myErr

If msgList.Rows > 1 Then
If MsgBox("真的要删除仓库编号为" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "的记录吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
intCount = msgList.Row

sSQL = "select * from inh full join outh on inh.ckdm = outh.ckdm full join kucun on inh.ckdm =kucun.ckdm full join zc zc1 on zc1.i_ckdm = inh.ckdm full join zc zc2 on zc2.o_ckdm = inh.ckdm where "
sSQL = sSQL & "inh.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
sSQL = sSQL & "or outh.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
sSQL = sSQL & "or kucun.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
sSQL = sSQL & "or zc1.i_ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
sSQL = sSQL & "or zc2.o_ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"

Set recTemp = ExecuteSQL(sSQL, MsgText)
If Not recTemp.EOF Then
MsgBox "数据库中存在与" & Trim(msgList.TextMatrix(intCount, 2)) & "相关的纪录,不能删除!", vbOKOnly, "警告"
Exit Sub
Else
sSQL = "delete from dm_ck where dm ='" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
Set recTemp = ExecuteSQL(sSQL, MsgText)
End If

'Unload frmCKSetup
'frmCKSetup.txtSQL = "select * from dm_ck"
'frmCKSetup.Show
ShowData
End If
End If

Exit Sub

myErr:
ShowError
End Sub

Public Sub RecordEdit()
Dim intCount As Integer

If msgList.Rows > 1 Then
gintCKSmode = EDIT
intCount = msgList.Row
If intCount > 0 Then
frmCKSetup1.txtSQL = "select * from dm_ck where dm ='" & Trim(msgList.TextMatrix(intCount, 1)) & "'"
frmCKSetup1.Show 1
Else
MsgBox "警告", vbOKOnly + vbExclamation, "请首先选择需要修改的纪录!"
End If
ShowData
Else
Call RecordAdd
End If
End Sub


Private Sub Form_Activate()
'设置读写权限
SetWorkRW mintRW
fMainForm.sbStatusBar.Panels(1).Text = msBarText
End Sub

Private Sub Form_Load()
'用户操作权限
Dim sPermission As String
Dim recTemp As Recordset
Dim sSQL As String
Dim sByte As String
Dim MsgText As String

On Error GoTo myErr
'设置操作的表名称
'msTableName = "ampaytune"
'msRptName = "paytune.rpt"
'msOrderBy = " order by tzdate,tzid"
'sOrder0 = "+ {tzdate}"
'sOrder1 = "+ {tzid}"
'msSelect = "select * from "

'置mintRW初值
mintRW = 0
sSQL = "select rw from permission where module=10 and id='" & sUserName & " '"
Set recTemp = ExecuteSQL(sSQL, MsgText)
If recTemp.EOF = False Then
mintRW = CInt(recTemp!rw)
Else
mintRW = ERRORMODE
SetMdiEnv
MsgBox "您的帐号权限有错误!", vbOKOnly + vbCritical, "错误"
Exit Sub
End If



'设置msSql
'msSql = msSelect & msTableName & " where tzdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and tzdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy

'显示数据
msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")
ShowTitle
ShowData

Set recTemp = Nothing
Exit Sub

myErr:
ShowError






End Sub

Private Sub Form_Resize()
If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then
'边界处理
If Me.ScaleHeight < 10 * lblTitle.Height Then

Exit Sub
End If
If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then

Exit Sub
End If
'控制控件的位置

lblTitle.Top = lblTitle.Height
lblTitle.Left = (Me.Width - lblTitle.Width) / 2

msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2
msgList.Width = Me.ScaleWidth - 200
msgList.Left = Me.ScaleLeft + 100
msgList.Height = Me.ScaleHeight - msgList.Top

End If
End Sub



Public Sub FormClose()
Unload Me
End Sub
Private Sub ShowData()

Dim j As Integer
Dim i As Integer
Dim MsgText As String

On Error GoTo myErr


Set mrc = ExecuteSQL(txtSQL, MsgText)
With msgList
.Rows = 1

Do While Not mrc.EOF
.Rows = .Rows + 1
For i = 1 To mrc.Fields.Count
If Not IsNull(Trim(mrc.Fields(i - 1))) Then
Select Case mrc.Fields(i - 1).Type
Case adDBDate
.TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd")
Case Else
.TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""
End Select
End If
Next i
mrc.MoveNext
Loop


End With


fMainForm.sbStatusBar.Panels(1).Text = msBarText
Set mrc = Nothing
Exit Sub

myErr:
ShowError


End Sub


'显示Grid表头
Private Sub ShowTitle()
Dim i As Integer

With msgList
.Cols = 4
.TextMatrix(0, 1) = "仓库编号"
.TextMatrix(0, 2) = "仓库名称"
.TextMatrix(0, 3) = "备注信息"

'固定表头
.FixedRows = 1

'设置各列的对齐方式
For i = 0 To 3
.ColAlignment(i) = 0
Next i


'表头项居中
.FillStyle = flexFillRepeat
.Col = 0
.Row = 0
.RowSel = 1
.ColSel = .Cols - 1
.CellAlignment = 4

'设置单元大小
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 2000
.ColWidth(3) = 3000
.Row = 1

End With
End Sub




Private Sub Form_Unload(Cancel As Integer)
SetMdiEnv
End Sub

Private Sub msgList_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'右键弹出
If Button = 2 And Shift = 0 Then

End If

End Sub


在该网站的上传权限,但不允许上传违犯国家安全及违犯《中华人民共和国著作权法》等相关法律法规,以及一切色情、病毒、等危害广大用户利益的资源。同时要遵守CSDN下载社区上传规则,如一经发现或收到举报我社区有权删除,并将扣除上传者在下载社区的全部积分,而因此带来的一切后果由上传者自负。

7,762

社区成员

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

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