2014-04-12 3 views
1

일부 테이블에는 1000 개가 넘는 행이있는 MS Access 데이터베이스가 있습니다.수정 보고서가 때때로 비어 있습니다.

여기 내 코드입니다.

버튼 클릭 이벤트 : 폴더를 만들고 모두 pdfs을 넣고 있습니다. 숫자가 7을 넘는 PDF 만 공백 인 (데이터는 표시하지 않지만 디자인 텍스트 개체는 표시 함) 및 주 테이블 1 어댑터의 세부 정보 섹션은 데이터 세트의 첫 번째 행만 표시합니다. 데이터 세트에는 데이터가 있습니다 (미리보기 데이터를 보여줍니다).

나는 또한 데이터베이스를 여러 번 확인했습니다. 테스트 연결도. 그래서 나는 무엇이 잘못 될지 모르겠다. 크리스탈 리포트 버전은 Visual Studio 2008에 포함 된 버전입니다.

도와주세요.

도덕적 인 밀어 올림 설명은 내가 이것을 3 일 동안 붙들었기 때문에 가장 환영 받는다. . :(

Dim i As Integer 
Dim locnoreq As String 
Dim secreq As Integer 
Dim zonereq = pszone.Text 
Dim ps As String 

Dim ds As New DataSet1() 
Dim foldername As String 
foldername = zonereq.Substring(0, 2) 
'MsgBox(foldername) 
Dim ExportFolder As String = Application.StartupPath + "\" + foldername 
If Not IO.Directory.Exists(ExportFolder) Then 
    IO.Directory.CreateDirectory(ExportFolder) 
End If 
'Dim locnoreq = psloc.SelectedValue 
'Dim xx = psloc.SelectedIndex + 1 
For i = 0 To psloc.Items.Count - 1 
    Dim rpt As New CrystalReport1() 
    psloc.SelectedIndex = i 
    filldata() 'fills sector no(lblsector) label 
    filldata1() 'modifies textbox 18 ps value 
    'MsgBox(lblsector.Text) 
    locnoreq = psloc.Text 
    secreq = CType(lblsector.Text(), Integer) 
    ps = TextBox18.Text 

    'MsgBox(zonereq & "zonereq pszone") 
    'MsgBox(secreq & "secreq lblsector") 
    'MsgBox(locnoreq & "psloc") 
    'MsgBox(ps & "textbox18") 
    Dim main_adapter As New OleDbDataAdapter("select Sectt_No,AC_No,PS_No,PS_Name,PA_Assigned,PS_Location,M,F,Total,Nature,PP1,CRPF,Bus_No from MainTable where AC_No='" & zonereq & "'and PS_Location='" & locnoreq & "'", con1) 
    main_adapter.Fill(ds, "MainTable") 
    main_adapter.Dispose() 
    Dim zones_adapter As New OleDbDataAdapter("select Magistrate,Magistrate_No,ZonalOfficer,ZonalOfficer_No from Zones where AC_No='" & zonereq & "'", con1) 
    zones_adapter.Fill(ds, "Zones") 
    zones_adapter.Dispose() 

    Dim location_adapter As New OleDbDataAdapter("select CPMF,CPMF_No,Lady_Worker,Police_Station,Sections from Location where AC_No='" & zonereq & "' and PS_Location='" & locnoreq & "'", con1) 
    location_adapter.Fill(ds, "Location") 
    location_adapter.Dispose() 
    Dim ps_adapter As New OleDbDataAdapter("select Zonal_SP,Zonal_SP_No,SDPO,SDPO_No,SHO,SHO_No from pstable where Police_Station='" & ps & "'", con1) 
    ps_adapter.Fill(ds, "pstable") 
    ps_adapter.Dispose() 
    Dim sectors_adapter As New OleDbDataAdapter("select Sectt_Mag,Sectt_Mag_No,Sectt_Off,Sectt_Off_No from sectors where AC_No='" & zonereq & "' and Sectt_No=" & secreq & "", con1) 
    sectors_adapter.Fill(ds, "sectors") 
    sectors_adapter.Dispose() 
    Dim main1_adapter As New OleDbDataAdapter("select PS_No,PS_Name,PA_Assigned,M,F,Total,PP1,Bus_No from MainTable where AC_No='" & zonereq & "'and PS_Location='" & locnoreq & "'order by ID asc", con1) 
    main1_adapter.Fill(ds, "MainTable1") 
    main1_adapter.Dispose() 
    rpt.SetDataSource(ds) 
    Dim frm2 As New Form2 
    frm2.CrystalReportViewer1.ReportSource = rpt 

    'rpt.ExportOptions.DestinationOptions = Application.StartupPath + "\" + foldername + "\" + i + 1 + ".pdf" 
    'rpt.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile 
    'rpt.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat 

    ''Export the report 
    'rpt.Export() 
    rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Application.StartupPath & "\" & foldername & "\" & i + 1 & ".pdf") 
    frm2.CrystalReportViewer1.Dispose() 
    frm2.Close() 
    rpt.Refresh() 
    rpt.Close() 
    rpt.Dispose() 

    ds.Clear() 
    clear() 

Next 
MsgBox("Done") 

답변

0

가 해결! 문제는 설정 내 데이터에 링크와 함께 있었다 나는 몇 가지를 삭제 (무력 것은 어떤 종류의 : D)을 다른 사람을 유지, 그것은 좋아 지난 근무 전 방법을 모른다.

관련 문제