当前位置:编程学习 > VB >>

VB中DataGrid控件数据的获取

如标题,现在我要把DataGrid控件中的一些数据批量输出到TXT文档中。请问该怎么实现? 我是新手哇 vb datagrid 数据获取 --------------------编程问答-------------------- 最好是从绑定到 DataGrid 控件的 Recordset 对象的 GetString 方法直接获得字符串文本,然后写入文件。
--------------------编程问答--------------------   
 '下面代码能读出所有DATAGRID中的所以数据,写到文件中就可以了,adodc1是DATAGRID的数据源
   Dim i, j
   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1
   For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1
   Me.DataGrid1.Row = j
   Me.DataGrid1.Col = i
   Debug.Print Me.DataGrid1.Text; "  ";
   Next i
   Debug.Print
   Next j
--------------------编程问答--------------------
引用 2 楼 dong_y888 的回复:
Visual Basic code?12345678910 '下面代码能读出所有DATAGRID中的所以数据,写到文件中就可以了,adodc1是DATAGRID的数据源   Dim i, j   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Recordset.Fie……


您好,谢谢您的答复。
Shell "cmd /c echo   > c:\试题.txt", 0  通过这条语句我在C盘建立了一个TXT文本。
我希望能够直接写入文本当中。   现在不懂如何写进去

我很菜的,现在做一个题库管理系统,在这卡了
--------------------编程问答--------------------
引用 2 楼 dong_y888 的回复:
Visual Basic code?12345678910 '下面代码能读出所有DATAGRID中的所以数据,写到文件中就可以了,adodc1是DATAGRID的数据源   Dim i, j   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Recordset.Fie……


通过一个按钮的单击事件就直接完成的那种

谢谢了! --------------------编程问答-------------------- --------------------编程问答--------------------
 
   Dim i, j
   Open "c:\试题.txt" For Output As #1
   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1
   For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1
   Me.DataGrid1.Row = j
   Me.DataGrid1.Col = i
   Print #1, Me.DataGrid1.Text+ "  "
   Next i
   Print #1,chr(13)
   Next j
   close #1
--------------------编程问答--------------------
引用 5 楼 of123 的回复:
Dim varOutput As Variant
varOutput = Adodc1.Recordset.GetString(adClipString)
Open "c:\试题.txt" For Output As #1
Print #1, varOutput
Close #1

谢谢您的回答。不过您的代码只实现了输出表格第一行的数据。加上一个循环输出就好咯  --------------------编程问答--------------------
引用 6 楼 dong_y888 的回复:
Visual Basic code?123456789101112     Dim i, j   Open "c:\试题.txt" For Output As #1   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1  ……



十分感谢您的答复,今晚试运行了一下,这段代码对我的启发很大。但是我对于较高深的应用还是一知半解。
  就像这张图,我只需要输出其中的第二第三列的内容,然后实现自动编号。~~
小弟做的毕业设计时间很紧。求您一定得帮帮我呀! --------------------编程问答--------------------
引用 8 楼 xumin786236 的回复:
引用 6 楼 dong_y888 的回复:Visual Basic code?123456789101112     Dim i, j   Open "c:\试题.txt" For Output As #1   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Records……


哦  是第二列与第五列的数据,中间最好不要有空格的。 --------------------编程问答--------------------
引用 7 楼 xumin786236 的回复:
引用 5 楼 of123 的回复:
Dim varOutput As Variant
varOutput = Adodc1.Recordset.GetString(adClipString)
Open "c:\试题.txt" For Output As #1
Print #1, varOutput
Close #1
谢谢您的回答。不过您的代码只实现了输出表格第一行的数据。加上一个循环输……


你试过了?
GetString 方法缺省提取记录集所有的行,行间用 vbCrLf 分隔,字段用 vbTab 分隔。
因此,不需要循环。 --------------------编程问答-------------------- 毕业设计,你不是一个人在战斗吧,问问同学就好了,还能加深一下同学友谊。问问老师也好,顺便送送礼,顺理成章,想不得个好分数都难。 --------------------编程问答--------------------
引用 10 楼 of123 的回复:
Quote: 引用 7 楼 xumin786236 的回复:

引用 5 楼 of123 的回复:
Dim varOutput As Variant
varOutput = Adodc1.Recordset.GetString(adClipString)
Open "c:\试题.txt" For Output As #1
Print #1, varOutput
Close #1
谢谢您的回答。不过您的代码只实现了输出表格第一行的数据。加上一个循环输……


你试过了?
GetString 方法缺省提取记录集所有的行,行间用 vbCrLf 分隔,字段用 vbTab 分隔。
因此,不需要循环。



嗯嗯  试过了啊  只能输出第一行的数据 --------------------编程问答--------------------
 
   Dim i, j
   Open "c:\试题.txt" For Output As #1
   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1
   For i = 0 To Me.Adodc1.Recordset.Fields.Count - 1
   Me.DataGrid1.Row = j
   Me.DataGrid1.Col = 1
   Print #1, Me.DataGrid1.Text+ "  "
   Me.DataGrid1.Row = j
   Me.DataGrid1.Col = 4
   Print #1, Me.DataGrid1.Text
   Next i
   Print #1,vbCrLf
   Next j
   close #1
--------------------编程问答--------------------
引用 13 楼 dong_y888 的回复:
Visual Basic code?123456789101112131415     Dim i, j   Open "c:\试题.txt" For Output As #1   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Recordset.Fields.Count……




出错了。这是运行结果,周一就要答辩了呀。   麻烦您帮我一次呀! --------------------编程问答--------------------
引用 13 楼 dong_y888 的回复:
Visual Basic code?123456789101112131415     Dim i, j   Open "c:\试题.txt" For Output As #1   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1   For i = 0 To Me.Adodc1.Recordset.Fields.Count……



不过得先谢谢您,帮我解答了这么多问题了。 --------------------编程问答--------------------
 
   Dim i, j
   Open "c:\试题.txt" For Output As #1
   For j = 0 To Me.Adodc1.Recordset.RecordCount - 1
      Me.DataGrid1.Row = j
      Me.DataGrid1.Col = 1
      Print #1, Me.DataGrid1.Text+ "  "
      Me.DataGrid1.Row = j
      Me.DataGrid1.Col = 4
      Print #1, Me.DataGrid1.Text
      Print #1,vbCrLf
   Next j
   close #1
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,