IDENTIFICAR CAMPOS EM UM UNION

ADEMIRDS 22/01/2013 18:32:55
#417911
Boa Tarde Pessoal.
Estou com uma duvida, tenho 2 tabelas ORD e VENDAS parecidas em um comando union e preciso gravar informações numa tabela temporaria.
Acontece quando o usuario pede relatorio de ambos, ai tenho que gravar o nr_doc e como fiz uma union preciso informar o campo do documento a gravar ord_doc e Ven_doc.
Como eu peguei registros das 2 pelo union queria saber se tem alguma função que eu possa usar no vb6 para saber se o campo desse ponteiro é ord_doc ou Ven_doc.

Segue abaixo trecho do programa para ver se ajuda a esclarecer.
10030 If chkOS.Value = 1 And chkVenda.Value = 1 Then
10035 Sql = [Ô]select sum(osf_vlpag) as total, O.ors_cdors, O.ors_dtfat,I.fpg_cdfpg,F.fpg_nmfpg from ordserfpg I[Ô]
10040 Sql = Sql & [Ô] left join ordser O on (I.ors_cdors = O.ors_cdors) left join fpagto F on (I.fpg_cdfpg = F.fpg_cdfpg)[Ô]
10045 Sql = Sql & [Ô] where ors_dtfat Between [ô][Ô] & Format(mskDtAbeIni.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô] and [ô][Ô] & Format(mskDtAbeFin.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô][Ô]
10050 Sql = Sql & [Ô] and O.ors_idsit = [ô]2[ô] and I.fpg_cdfpg <> [Ô] & EmpFpg & [Ô] [Ô]
10055 Sql = Sql & [Ô] group by I.fpg_cdfpg [Ô]
10060 Sql = Sql & [Ô] Union [Ô]
10065 Sql = Sql & [Ô] select sum(pvf_vlpag) as total, P.ped_nrped, P.ped_dtfat,I.fpg_cdfpg , F.fpg_nmfpg from pedvenfpg I[Ô]
10070 Sql = Sql & [Ô] left join pedvenda P on (I.ped_nrped = P.ped_nrped) left join fpagto F on (I.fpg_cdfpg= F.fpg_cdfpg)[Ô]
10075 Sql = Sql & [Ô] where ped_dtfat Between [ô][Ô] & Format(mskDtAbeIni.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô] and [ô][Ô] & Format(mskDtAbeFin.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô][Ô]
10080 Sql = Sql & [Ô] group by I.fpg_cdfpg;[Ô]
10085 Rs_Fpg.Open Sql, Bd, adOpenForwardOnly, adLockReadOnly
10090 Flag_Tp = 2
10095 End If


10195 Do Until Rs_Fpg.EOF
10200 Cont = Cont + 1
10205 Sql = [Ô]insert into relfintmp(seq_nrseq, tmp_nrdoc, fpg_cdfpg, fpg_nmfpg, tmp_dtfat, tmp_vlpag ) values([Ô]
10210 Sql = Sql & Cont & [Ô], [Ô]
10215 If Flag_Tp = 1 Then
10220 Sql = Sql & Rs_Fpg!ped_nrped & [Ô], [Ô]
10225 ElseIf Flag_Tp = 0 Then
10230 Sql = Sql & Rs_Fpg!ors_cdors & [Ô], [Ô]
Else

**** como saber se nessa linha o campo é Rs_Fpg!ped_nrped ou Rs_Fpg!ors_cdors

10235 End If
10240 Sql = Sql & Rs_Fpg!fpg_cdfpg & [Ô], [Ô]
10245 Sql = Sql & [Ô][ô][Ô] & Rs_Fpg!fpg_nmfpg & [Ô][ô], [Ô]
10250 If Flag_Tp = 1 Then
10255 Sql = Sql & [Ô][ô][Ô] & IIf(Rs_Fpg!ped_dtfat = [Ô][Ô], Null, Format(Rs_Fpg!ped_dtfat, DatFormato)) & [Ô][ô], [Ô]
10260 Else
10265 Sql = Sql & [Ô][ô][Ô] & IIf(Rs_Fpg!ors_dtfat = [Ô][Ô], Null, Format(Rs_Fpg!ors_dtfat, DatFormato)) & [Ô][ô], [Ô]
10270 End If
10275 Sql = Sql & Troca_Vir(Rs_Fpg!Total) & [Ô]); [Ô]
10280 Bd.Execute Sql
10285 Rs_Fpg.MoveNext
10290 Loop

Grato.
KERPLUNK 22/01/2013 19:00:58
#417913
  
10030 If chkOS.Value = 1 And chkVenda.Value = 1 Then
10035 Sql = [Ô]select sum(osf_vlpag) as total, O.ors_cdors, O.ors_dtfat,I.fpg_cdfpg,F.fpg_nmfpg, [ô]da ordserfpg[ô] as TABELA from ordserfpg I[Ô]
10040 Sql = Sql & [Ô] left join ordser O on (I.ors_cdors = O.ors_cdors) left join fpagto F on (I.fpg_cdfpg = F.fpg_cdfpg)[Ô]
10045 Sql = Sql & [Ô] where ors_dtfat Between [ô][Ô] & Format(mskDtAbeIni.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô] and [ô][Ô] & Format(mskDtAbeFin.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô][Ô]
10050 Sql = Sql & [Ô] and O.ors_idsit = [ô]2[ô] and I.fpg_cdfpg <> [Ô] & EmpFpg & [Ô] [Ô]
10055 Sql = Sql & [Ô] group by I.fpg_cdfpg [Ô]
10060 Sql = Sql & [Ô] Union [Ô]
10065 Sql = Sql & [Ô] select sum(pvf_vlpag) as total, P.ped_nrped, P.ped_dtfat,I.fpg_cdfpg , F.fpg_nmfpg, [ô]da pedvenfpg[ô] as TABELA from pedvenfpg I[Ô]
10070 Sql = Sql & [Ô] left join pedvenda P on (I.ped_nrped = P.ped_nrped) left join fpagto F on (I.fpg_cdfpg= F.fpg_cdfpg)[Ô]
10075 Sql = Sql & [Ô] where ped_dtfat Between [ô][Ô] & Format(mskDtAbeIni.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô] and [ô][Ô] & Format(mskDtAbeFin.Text, [Ô]yyyymmdd[Ô]) & [Ô][ô][Ô]
10080 Sql = Sql & [Ô] group by I.fpg_cdfpg;[Ô]
10085 Rs_Fpg.Open Sql, Bd, adOpenForwardOnly, adLockReadOnly
10090 Flag_Tp = 2
10095 End If


Assim, quando chamar [Ô]Rs_Fpg([Ô]TABELA[Ô])[Ô] em qualquer registro, vai saber de que tabela veio, se é que eu entendi o que você quer.
Faça seu login para responder