msgflexgrid表格中如何获取表格内容

llSnakesss 2020-07-09 04:23:05
想实现在text中打入信息。然后从表格内查找到相应数。并把相应数据填充至其他text、combo等框中


If KeyCode = 13 Then
' For row = 0 To 9
' For col = 0 To 7
' n = s <> m
' Next col
' Next row
'Else:
' Text4.Text = Form2.MSHFlexGrid1.TextMatrix(Form2.MSHFlexGrid1.row - 1, col)
'End If
'
'
'End If

'If KeyCode = 13 Then
' If Form2.MSHFlexGrid1.TextMatrix(Form2.MSHFlexGrid1.Row, 7) = Text3.Text Then
' Text4.Text = Form2.MSHFlexGrid1.TextMatrix(Form2.MSHFlexGrid1.Row, 8)
' Else
' MsgBox "xxx"
' End If
'End If
...全文
384 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHRXJR 2020-07-13
  • 打赏
  • 举报
回复
回复 5楼 llSnakesss 如果使用【查询】按钮就方便多了。例如:

Private Sub Command2_Click()
'连接数据库略
strSQL = "select * from 数据表 Where 领用人 ='" & Text2.Text & "'"   '假定Text2.Text是领用人的文本框
    RS.Open strSQL, db, 2, 2
     Text1.Text=RS!某字段
     Text3.Text=RS!某字段
     Combo1.Text=RS!某字段
     Combo2.Text=RS!某字段
RS.CLOSE
End Sub
这样你清楚了吗?
llSnakesss 2020-07-13
  • 打赏
  • 举报
回复
Dim lie As Integer Dim heng As Integer Dim s As String Dim n As String Dim m As String 'uboundÉϱ߽ç lboundϱ߽ç lie = Form2.MSHFlexGrid1.Row 'rowÊÇÁÐ colÊǺá heng = Form2.MSHFlexGrid1.Col 'le=ubound-lbound+1 '0ÁÐ id '1ÁÐ Æ·Ãû '2ÁÐ ÐͺŠ'3ÁÐ ÁãÊÛ¼Û '4ÁÐ ³ö¿âÊýÁ¿ '5ÁÐ ³ö¿âÈÕÆÚ '6ÁÐ ³ö¿âÈËÔ± '7ÁÐ ÁìÓÃÈË '8ÁÐ ¿Í»§ '9ÁÐ ±¸×¢ s = Text3.Text 'Do While Óï¾ä ' 'Loop If KeyCode = 13 Then ' Do While Not EOF() On Error GoTo err: For lie = 1 To 19 Step 1 For heng = 7 To 7 'ÁìÓÃÈËÔÚµÚ7ÁÐ m = Form2.MSHFlexGrid1.TextMatrix(lie, heng) If s = m Then Text4.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng + 1) '¿Í»§ Text1.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 4) 'ÁãÊÛ¼Û Combo3.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 1) '³ö¿âÈËÔ± Text2.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 3) '³ö¿âÊýÁ¿ Combo2.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 5) 'ÐͺŠcob1.Text = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 6) 'Æ·Ãû Label9.Caption = Form2.MSHFlexGrid1.TextMatrix(lie, heng - 2) '³ö¿âÈÕÆÚ End If Next heng Next lie ' Loop 'Else: ' MsgBox "x" err: MsgBox "xxx" End If End Sub
llSnakesss 2020-07-13
  • 打赏
  • 举报
回复
在 MSHFlexGrid1_Click() 事件中这里的事件我都可以用了。我主要是用查询功能。就是在没有点mshflexgrid表中点选 。直接在领用人text框内输入人员,就显示出相应的数据,分别在其他框内。。我用for语句实现了一下。但是for语句我不知道结果也就是for 0 to ??? step 1....我实验的是我现在有的数据,能查找到答案。但???这个数面要用什么代替?如果让他查找到最后一条记录后停下来。网上看了do while not eof().但不知道这个用在哪
ZHRXJR 2020-07-11
  • 打赏
  • 举报
回复
在 MSHFlexGrid1_Click() 事件中 或 “领用人”text 的 Text1_LostFocus() 事件中 使用 SQL 语句,检测 数据库的“领用人 等于 MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 8),然后将检测到的记录对应赋值到各 Combox 控件及 Textbox 控件将可以了呀。
llSnakesss 2020-07-10
  • 打赏
  • 举报
回复
相当于查找 。但我这个返回的值 不对。。Form2.MSHFlexGrid1.TextMatrix(Form2.MSHFlexGrid1.Row, 8). 比方说我在打ID64的这一行数所。我在领用人里输入vv,回车后。相应的行64中的数据在这上面同时显示出来,品名。型号零售价。出库数量,出库人员。客户。
ZHRXJR 2020-07-09
  • 打赏
  • 举报
回复
其实不难,很简单,但你描述的不清楚,text 中打入信息,你的图片中看不到那个是 text,无非确定是那个字段
llSnakesss 2020-07-09
  • 打赏
  • 举报
回复

7,763

社区成员

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

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