最近准备为公司网站用VB做个产品展示生成,生成部分基本没问题,
问题出现在查询部分,使用了MSHFelxGrid(DATAGrid不能满足操作需求),本来以为收工了,昨天再次测试的时候发现了以下问题 当数据库字段为“Memo(Access备注)”的时候,使用MSHFlexGrid1.TextMatrix取得的值并不完全,长度只有999个字符……困扰了一天,请高人们来测试并说说解决方案。由于相当原因,排除掉修改数据库字段类型的方案。 源码如下:
包括控件 textbox x 1(可不要,显示测试用),MSHFlexGrid x 1,Label x 1
数据库为Access,表Product内的SmallClassName字段为Memo类型,记录数据超过2000字符 Dim con As New ADODB.Connection
Dim Gs As New ADODB.Recordset Private Sub Form_Load()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "/DB.mdb;Persist Security Info=False "
con.Open
Gs.CursorLocation = adUseClient
Gs.Open "select * From product where smallClassName like '% ' ", con, 1, 1
Set MSHFlexGrid1.DataSource = Gs
Gs.Close
Text1.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) '显示测试用,可忽略该行
Label1.Caption = Len(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1))
End Sub
当运行后,Label1.caption = 999
问题出现在查询部分,使用了MSHFelxGrid(DATAGrid不能满足操作需求),本来以为收工了,昨天再次测试的时候发现了以下问题 当数据库字段为“Memo(Access备注)”的时候,使用MSHFlexGrid1.TextMatrix取得的值并不完全,长度只有999个字符……困扰了一天,请高人们来测试并说说解决方案。由于相当原因,排除掉修改数据库字段类型的方案。 源码如下:
包括控件 textbox x 1(可不要,显示测试用),MSHFlexGrid x 1,Label x 1
数据库为Access,表Product内的SmallClassName字段为Memo类型,记录数据超过2000字符 Dim con As New ADODB.Connection
Dim Gs As New ADODB.Recordset Private Sub Form_Load()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "/DB.mdb;Persist Security Info=False "
con.Open
Gs.CursorLocation = adUseClient
Gs.Open "select * From product where smallClassName like '% ' ", con, 1, 1
Set MSHFlexGrid1.DataSource = Gs
Gs.Close
Text1.Text = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) '显示测试用,可忽略该行
Label1.Caption = Len(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1))
End Sub
当运行后,Label1.caption = 999
窗体上放RichTextBox显示全部内容
RichTextBox可以设置各种字体和颜色,能做的比较漂亮
或放到Word中
MSHFelxGrid中如果能在备注后加一列加上按钮就更好了
Richtextbox有限制,但够用
memo字段也有限制吧?
双击cell的时候读出来动态写到Word中
详细信息写在textbox或RichTextBox里都成,主要是前面的工作.
5G?是1行记录吗?我猜应该不是,1行记录是2000字符(lz说的),再加两列,设为隐藏,后加一列加上按钮,客户点击按钮后把三列内容全部放到richtextbox显示,是2000字符,不是5G