vb数据库msflexgrid
① vb msflexgrid控件的使用
MSFlexGrid1.Rows = 3 '3行
MSFlexGrid1.Cols = 3 '3列
MSFlexGrid1.FixedCols = 0 '固定列:无
MSFlexGrid1.FixedRows = 1 '固定行:1行
MSFlexGrid1.FormatString = "^ A |^ B |^ C "标题为A,B,C, |分隔标题,左对齐用<,居中用^,右对齐>。
MSFlexGrid1.TextMatrix(1, 0) = 1
MSFlexGrid1.TextMatrix(2, 0) = 2
② VB的msflexgrid写入数据库的数据问题
查询的sql语句:
select riqi,sum(zhongliang) as zlsum from 表 group by riqi
(请注意其中的as zlsum)
放入表格语句:
MSFlexGrid2.additem(i & vbTab & Trim(ors.fields("riqi").value) & vbTab & Trim(ors.fields("zlsum").value))
(注意其中的zlsum)
③ vb msflexgrid 控件怎么修改数据库
反写信息,最好程序后台控制,
前台做一个提交按钮,
后面写更新代码。
④ VB6.0中MSFlexGrid控件的用法
★呵呵!
>>
将文本赋值给MsFlexGrid的单元格
MsFlexGrid.TextMatrix(3,1)=”Hello”
>>
在MsFlexGrid控件单元格中插入背景图形
Set
MsFlexGrid.CellPicture=LoadPicture(“C:\temp\1.bmp”)
>>选中某个单元
MsFlexGrid.Row=1
MsFlexGrid.Col=1
>>用粗体格式化当前选中单元
MsFlexGrid.CellFontBold=True
>>
添加新的一行
使用AddItem方法,用Tab字符分开不同单元格的内容
dim
row
as
string
row=”AAA”&vbtab&”bbb”
MsFlexFrid1.addItem
row
>>怎样来实现MSFlexGrid控件单数行背景为白色,双数的行背景为蓝色?
Dim
i
As
Integer
With
MSFlexGrid1
.AllowBigSelection
=
True
’
设置网格样式
.FillStyle
=
flexFillRepeat
For
i
=
0
To
.Rows
-
1
.Row
=
i:
.Col
=
.FixedCols
.ColSel
=
.Cols()
-
.FixedCols
-
1
If
i
Mod
2
=
0
Then
.CellBackColor
=
&HC0C0C0
’
浅灰
Else
.CellBackColor
=
vbBlue
’
兰色
End
If
Next
i
End
With
>>
MSFlexGrid控件如何移到最后一行
MSFlexGrid1.TopRow
=
MSFlexGrid1.Rows
–
1
>>如何判断msflexgrid有无滚动条
Declare
Function
GetScrollRange
Lib
"user32"
(ByVal
hWnd
As
Long,
ByVal
nBar
As
Long,
lpMinPos
As
Long,
lpMaxPos
As
Long)
As
Long
Public
Const
SB_HORZ
=
&H0
Public
Const
SB_VERT
=
&H1
Public
Function
VsScroll(MshGrid
As
MSHFlexGrid)
As
Boolean
’判断水平滚动条的可见性
Dim
i
As
Long
VsScroll
=
False
i
=
GetScrollRange(MshGrid.hWnd,
SB_HORZ,
lpMinPos,
lpMaxPos)
If
lpMaxPos
<>
lpMinPos
Then
VsScroll
=
True
End
Function
Public
Function
HeScroll(MshGrid
As
MSHFlexGrid)
As
Boolean
’判断垂直滚动条的可见性
Dim
i
As
Long
HeScroll
=
False
i
=
GetScrollRange(MshGrid.hWnd,
SB_VERT,
lpMinPos,
lpMaxPos)
If
lpMaxPos
<>
lpMinPos
Then
HeScroll
=
True
End
Function
>>程序运行时,想动态增加MSFlexgrid的列数
在第2列后插入一列:
Private
Sub
Form_Load()
Me.MSHFlexGrid1.Cols
=
5
MSHFlexGrid1.Rows
=
2
For
i
=
0
To
Me.MSHFlexGrid1.Cols
-
1
Me.MSHFlexGrid1.TextMatrix(0,
i)
=
i
Me.MSHFlexGrid1.TextMatrix(1,
i)
=
i
Next
End
Sub
Private
Sub
Command1_Click()
Me.MSHFlexGrid1.Cols
=
Me.MSHFlexGrid1.Cols
+
1
Me.MSHFlexGrid1.ColPosition(5)
=
3
End
Sub
>>
请教MSFlexGrid中的对齐功能的使用
设置MSFlexGrid1.ColAlignment(index)=n
>>得到MSFlexGrid控件中当前选中的一行
msflexgrid1.rowsel就是当前选中行
>>
如何通过代码调节列宽度
msflexgrid1.colwidth(i)=4000
⑤ vb中关于msflexgrid控件显示查找到的数据库内容的问题,求大神指点
现在你显示数据的方法是不是让 表格的datasource属性绑定到 Data1 控件上?这样的话,你每次更新
Data1 ,表格中所有数据都将更新,也就是你Data1中是什么数据,表格就是什么数据
就目前我觉得有2个方法
1、就是你每次查找时 修改sql语句的条件,比如你之前的条件是 ".. where errCode = 5"--这里是查询1条记录
你后面重新查找时就将 条件改为 ".. where errCode in (5,6,7)"--这样就可以查出多条记录
2、利用ADO对象操作数据库(具体怎么操作,你可以找些资料,有问题到时候再分析)
这样你每次查找1条记录后,给表格新增1行,写入数据,其他的数据则保留下来
⑥ VB MSFlexGrid控件
因为每行的内容不同,设置自动调整列宽不一定能达到希望的效果。建议设置MSFlexGrid的属性:MSFlexGrid1.AllowUserResizing = flexResizeBoth 意为允许调整列宽。显示数据后,可将鼠标放在标题行(0行)上该列的右边界处,鼠标指针会变成左右箭头状,按下左键,向右拖动,即可拉宽该列。
如果文字过长,上述方法还不能完全显示,建议在MSFlexGrid控件下方放置一个文本框,编写代码,当鼠标单击MSFlexGrid的某个单元格时,将该单元格内容显示到文本框中。示例代码如下:(放入MSFlexGrid1_Click()中)
Text1 = MSFlexGrid1.TextArray(fgi(MSFlexGrid1.MouseRow, MSFlexGrid1.MouseCol))
其中,fgi是由行、列号计算单元格位置的函数。
⑦ VB中MSFlexGrid怎么添加内容
'MSHFlexGrid1是不能输入的,只有通过一个text来输入
Private Sub MSHFlexGrid1_Click()
Dim i As Long
With MSHFlexGrid1
If .Col = 1 Then
Text1.Text = Trim(.Text)
Text1.Left = .CellLeft - 10
Text1.Top = .CellTop - 10
Text1.Height = .CellHeight
Text1.Width = .CellWidth
Text1.Visible = True
Text1.SetFocus
Else
Text1.Visible = False
End If
End With
End Sub
Private Sub Text1_Change()
With MSHFlexGrid1
.Text = Trim(Text1.Text)
End With
End Sub
⑧ vb查询数据库读取到MSFlexGrid
用这个控件有点麻烦
因为不能在这个控件直接输入数据的,
一般的方法是
加个文本框,一般情况下是隐藏的,单击表格后,显示出来,移到单击表格的位置,大小也与表格一样,就在文本框里输入数据,完成后把数据保存到数据库里,再隐藏文本框。
⑨ VB 6.0中使用msflexgrid控件,删除选中行的同时删除数据库的内容
Private Sub Command1_Click()
Dim rSel As Long
With MSFlexGrid1
If .Rows = 0 Or .RowSel = 0 Then Exit Sub
rSel = .RowSel
If rSel <> .Rows - 1 Then
For i = rSel + 1 To .Rows - 1
For j = 1 To .Cols - 1
.TextMatrix(i - 1, j) = .TextMatrix(i, j)
Next
Next
End If
.Rows = .Rows - 1
End With
End Sub
⑩ vb中如何把查询到的数据显示在msflexgrid上呢 请高手来围观解答啊
是否又是你在问这个问题了?
你连接的是否为Access 数据库?下面以Access 数据库为例子:
先看一下结果。
窗体中放置好各控件,Form_Load()增加如下的程序:
Private Sub Form_Load()
With Data1
.Connect = "Access"
.DatabaseName = "D:vbTempmyDB.mdb" ‘数据库所在的全路径及名称
.RecordSource = "SELECT * FROM T101 ORDER BY F1" '这里的T101是我用的表名称
.Refresh ’F1 是我用的字段名称
End With
End Sub
“查询”按扭增加如下的程序:
Private Sub cmdFind_Click()
With Data1
.RecordSource = "SELECT * FROM T101 WHERE F1 Like '" + Trim(txtCode) + "*'"
.Refresh
End With
End Sub
1、添加 MSFlexGrid 控件:
“工程”->"部件"->"选择 Microsoft FlexGrid Control 6.0"->"确定"
2、Data 控件应该会设置吧
3、窗体上放置该控件,设置其 DataSource 属性=Data1
3、添加需要的程序
4、程序中的 "F1" 是我用字段名称,代表的是“错误编号”
5、查询中用 Like 语句可以获得相关的结果,也可以用 "=" 但后面不需要*“符号
"SELECT * FROM T101 WHERE F1='" + Trim(txtCode) + "'"