我是用VB自带的数据环境(DATAEVNIRONMET)和数据报表(DAATA REPORT)做的一个查询报表,我把查询出来的数据插入到一个新表中,然后设设置“数据环境”的连接什么的在窗体中用DATAGRID来显示查询出来的数据,用一个向上移动和一个向下移动的命令按钮来控制DATAGRID的 row 的移动。每移动一次时把当前 ROW 中的内容插入到新表中,然后打印出来。执行时数据库中的表的内容都变了,为什么报表里的内容有时是空的,什么也没有。哪位高手能告诉我哪错了,还是需要什么东西,高分求教。如果说的不是很清:请联系本人,全天在线。
QQ 25152122

解决方案 »

  1.   

    可能是你程序一运行就把报表的数据源bind了,你更新表后没有重新更新报表的数据源,你可以在更新表后重新绑定一次报表的数据源
      

  2.   

    这个On Error GoTo OPerr
        Printer.Orientation = 1
        Set mydb = DBEngine.Workspaces(0).OpenDatabase(Pathname)
        mydb.Execute ("delete from code1  ")
            
        mydb.Execute ("insert into code1 " & sqlcn & "")
        mydb.Close
        Set mydb = DBEngine.Workspaces(0).OpenDatabase(Pathname)  '再次打开是为了刷新 code1 表
        
        mydb.OpenRecordset ("code1")
        mydb.Close
        Unload DataEncrc
        DataEncrc.Connection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source='" & Pathname & "'"   DataEncrc.Commands("command1").CommandText = "code1"    DataEncrc.Command1    DataRepcrc.Refresh
        DataRepcrc.Show vbModal
        
        Exit Sub
    OPerr:
         MsgBox "请确认是否安装了打印驱动程序或是否将打印属性设置为" & Chr(13) + Chr(13) & " 纸张:A4的纸,方向:横向。", vbCritical + vbOKOnly, "提示"
      

  3.   

    这个问题我也遇到过
    主要是打印前 先 unlaod DataEncr
    然后再打开 就可以 
    因为 数据环境  联上了 就不改变表的数据了
    它可能是把表的内容 放在一个临时的表里处理的