TABELA TEMPORARIA.

PARREIRA 01/12/2009 09:33:23
#328903
Bom dia Pessoal,estou com o seguinte problema.
Desejo criar uma tabela temporaria no vb6 porem quando abro o recorsSet ele fecha imediatamento,alguem sabe como posso resolver isso?

Set Pecas = New ADODB.Recordset
Set Aux = New ADODB.Recordset

Me.Left = ((Screen.Width / 2) - (Me.Width / 2))
Me.Top = ((Screen.Height / 2) - (Me.Height / 2) - 200)

sSql = [Ô]SELECT A.N_CD_CODIGO,[Ô]
sSql = sSql & [Ô] A.N_CD_FILIAL,[Ô]
sSql = sSql & [Ô] A.S_DSC_CODLIB,[Ô]
sSql = sSql & [Ô] A.N_CD_STATUS,[Ô]
sSql = sSql & [Ô] A.S_DSC_DATA,[Ô]
sSql = sSql & [Ô] B.S_DSC_APELIDO AS S_DSC_FUNCIONARIO,[Ô]
sSql = sSql & [Ô] C.S_DSC_FANTASIA AS S_DSC_FORNECEDOR,[Ô]
sSql = sSql & [Ô] A.N_DSC_VALOR,[Ô]
sSql = sSql & [Ô] (SELECT [ô]N[ô]) AS S_DSC_STATUS[Ô]
sSql = sSql & [Ô] INTO ##CONVENIO_1 FROM TBL_CONVENIO AS A[Ô]
sSql = sSql & [Ô] INNER JOIN TBL_FUNCIONARIO AS B ON B.N_CD_CODIGO = A.N_CD_FUNCIONARIO AND B.N_CD_FILIAL = A.N_CD_FILIALFUNC[Ô]
sSql = sSql & [Ô] INNER JOIN TBL_FORNECEDOR AS C ON C.N_CD_CODIGO = A.N_CD_FORNECEDOR AND C.N_CD_FILIAL = A.N_CD_FILIALFORNEC[Ô]
sSql = sSql & [Ô] WHERE A.N_CD_FILIALCTRL = [Ô] & sFilialCtrl

If Filtro1.Value > 0 Then
sSql = sSql & [Ô] AND A.N_CD_STATUS = 2[Ô]
Else
sSql = sSql & [Ô] AND A.N_CD_STATUS = 3[Ô]
End If
sSql = sSql & [Ô] ORDER BY B.S_DSC_APELIDO,A.S_DSC_DATA[Ô]
DB_Base.Execute sSql
Pecas.Open sSql, DB_Base, adOpenKeyset

[ô]Quando passso dessa linha ele falar que o recordset esta fechado,se eu tirar o # da consulta ele roda normalmente!

If Pecas.RecordCount > 0 Then
RCMRO 01/12/2009 09:40:18
#328906
Resposta escolhida
Experimenta retirar do seu SQL a instrução [Ô]INTO ##CONVENIO_1 [Ô] e ele irá funcionar.
Se for necessário criar a tabela temporária, lembre-se que os dados não são retornados e sim inseridos nessa tabela, por isso um RECORDSET não irá conter nada. Se retirar a instrução como disse, passa a retornar o resultado do SELECt e o RECORDSET será carregado.
PARREIRA 01/12/2009 09:47:17
#328908
Po cara agora vc falando caiu a ficha ,vc tem toda razão!!Muito obrigado pela dica,valeu!!!
Tópico encerrado , respostas não são mais permitidas