Private Sub Detail_Format()strRST_SQL = "select sum(pb010)as pb010,sum(pb011)as pb011, sum(pb012)as pb012,(convert(varchar(200),PB027)+PB028) as pb027 " & _
"from dgmocpb inner join dgmocpa on dgmocpb.pb001=dgmocpa.pa001 and pb006=pa008 and " & _
"pa003='" & Field2.Text & "' " & _
"group by (convert(varchar(200),PB027)+PB028) "
Call SetRSTReadOnly(strRST_SQL)
If Not (rst.EOF And rst.BOF) Then
Field90.Text = rst.Fields(0).Value
Field91.Text = rst.Fields(1).Value
Field88.Text = rst.Fields(2).Value
Field92.Text = rst.Fields(0).Value - Val(Field153.Text)
Field80.Text = Left(rst.Field(3).Value, 2)
Field79.Text = Val(Field8.Text) - rst.Fields(0).Value
Else
Field90.Text = ""
Field91.Text = ""
Field88.Text = ""
Field80.Text = ""
Field92.Text = ""
Field79.Text = Val(Field8.Text)
End If
執行上面代碼過程中出現以下問題:pa003='683638'時,在表VwPAPB中有3筆記錄,PB027(作業順序號)與PB028(工作中心)是不同的。 有(PB027=20 ,PB028=Z11286) (PB027=30,PB028=Z11289) (PB027=50,PB028=Z11287) 在數據庫中執行SQL是可以得到這3筆記錄,但是在報表上顯示的時候只有(PB027=20 ,PB028=Z11286) 記錄,沒有其餘2筆的記錄。 請問下,我該如何處理才能在報表上顯示出同PA003 但是(convert(varchar(200),PB027)+PB028)不同時候的所有記錄????
"from dgmocpb inner join dgmocpa on dgmocpb.pb001=dgmocpa.pa001 and pb006=pa008 and " & _
"pa003='" & Field2.Text & "' " & _
"group by (convert(varchar(200),PB027)+PB028) "
Call SetRSTReadOnly(strRST_SQL)
If Not (rst.EOF And rst.BOF) Then
Field90.Text = rst.Fields(0).Value
Field91.Text = rst.Fields(1).Value
Field88.Text = rst.Fields(2).Value
Field92.Text = rst.Fields(0).Value - Val(Field153.Text)
Field80.Text = Left(rst.Field(3).Value, 2)
Field79.Text = Val(Field8.Text) - rst.Fields(0).Value
Else
Field90.Text = ""
Field91.Text = ""
Field88.Text = ""
Field80.Text = ""
Field92.Text = ""
Field79.Text = Val(Field8.Text)
End If
執行上面代碼過程中出現以下問題:pa003='683638'時,在表VwPAPB中有3筆記錄,PB027(作業順序號)與PB028(工作中心)是不同的。 有(PB027=20 ,PB028=Z11286) (PB027=30,PB028=Z11289) (PB027=50,PB028=Z11287) 在數據庫中執行SQL是可以得到這3筆記錄,但是在報表上顯示的時候只有(PB027=20 ,PB028=Z11286) 記錄,沒有其餘2筆的記錄。 請問下,我該如何處理才能在報表上顯示出同PA003 但是(convert(varchar(200),PB027)+PB028)不同時候的所有記錄????
你应该在整个报表的数据源上直接用 LEFT JOIN
假定你现在的数据源SQL取得10条记录,而它们每个都有3个子记录,那么你就要用 JOIN 方式取得30条记录。
直接改数据源的SQL就可以了。