SHAPE APPEND NO MYSQL E VB-6

DANLEONHART 13/07/2012 06:14:25
#405985
Pessoal...

Gostaria de saber se o MySQL 5.5 aceita o SHAPE APPEND...

Estou tentando criar um relatório DataReport no VB-6 e não estou conseguindo...
estou lendo as dicas que encontrei aqui + os que encontrei no site do Macoratti, mas sempre dá erro:


Estou tentando assim:

Dim rs As ADODB.Recordset

OpenMySQL

Set rs = New ADODB.Recordset

With rs
.ActiveConnection = objMySQL
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Open [Ô]SHAPE {SELECT * FROM Tab_Clientes} [Ô] _
& [Ô]APPEND ({SELECT ID_Clientes,Cliente FROM Tab_Dados} [Ô] _
& [Ô]RELATE [ô]ID_clientes[ô] TO [ô]ID_Clientes[ô]) AS newRelatorio[Ô]
End With

Set DRep1.DataSource = rs

With DRep1
.Orientation = rptOrientLandscape
.Show 1
End With


Valeu !
KERPLUNK 13/07/2012 08:56:47
#405993
Não tenho certeza se o MySQL suporta data shape...
MARCELO.TREZE 13/07/2012 10:16:15
#405998
tenta assim

.Open [Ô]SHAPE SELECT * FROM Tab_Clientes [Ô] _
& [Ô]APPEND (SELECT ID_Clientes,Cliente FROM Tab_Dados As newRelatorio [Ô] _
& [Ô]RELATE ID_clientes TO ID_Clientes) AS newRelatorio[Ô]
MARCELO.TREZE 13/07/2012 10:28:43
#405999
Resposta escolhida
bom tem este link que achei bem explicativo e tem até um exemplo pra vb/vba

http://support.microsoft.com/kb/189657
DANLEONHART 13/07/2012 11:26:10
#406006
KERPLUNK : é o que estou tentando descobrir...vi alguns exemplos na NET, adaptei os códigos mas nenhum funcionou...

MARCELO-TREZE : tentei...e apresentou o mesmo erro. Neste momento estou lendo o link que você indicou.

O que estou tentando fazer é gerar um relatório (com o DataReport) onde seja apresentado:

=====================================
Cliente: José Maria
Data de Atendimento: 05/07/2012
Data de Conclusao: 10/07/2012
Status: RESOLVIDO

Cliente: Maria José
Data de Atendimento: 07/07/2012
Data de Conclusao: 08/07/2012
Status: RESOLVIDO

Cliente: Pedro Silva
Data de Atendimento: 09/07/2012
Data de Conclusao: -
Status: EM ABERTO

=====================================

Não preciso de muita coisa, por isso optei pela simplicidade do DataReport, mas não quero usar o DataEnvironment...gosto de fazer via código, pois tenho mais controle .
MARCELO.TREZE 13/07/2012 11:37:32
#406009
Desculpe a pergunta mas um select com inner join não resolve o problema.

tipo

SELECT C.*, D.ID_Clientes,D.Cliente  FROM Tab_Clientes C  INNER JOIN Tab_Dados D ON C.ID_clientes = D.ID_Clientes


no exemplo acima eu supus que nas duas tabelas existem um campo id_clientes, mas se for basta arrumar isto.

LLAIA 13/07/2012 11:41:30
#406010
Pra usar o SHAPE, é necessário usar dois Provider na sua string de conexão. Ficaria parecido como: [Ô]Provider=MSDataShape; DataProvider= seuProviderProSeuBanco[Ô]
DANLEONHART 13/07/2012 11:43:24
#406011
Sim Marcelo, nas duas tabelas há campos relacionais: ID_Clientes e Cliente nas duas.
Vou tentar...sinceramente não pensei em usar o INNER JOIN .

VALEU !
DANLEONHART 13/07/2012 18:15:29
#406057
é pessoal...
Não consegui organizar da maneira que quero...
mas o MySQL suporta sim o SHAPE APPEND...porém na função que uso para conectar tive que fazer como o LLAIA falou, e ficou assim:

Function OpenCon()
Set objCon = New ADODB.Connection
objCon.Provider = [Ô]MSDataShape[Ô]
objCon.Open [Ô]Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=test; User=root;Password=xxxxxxxxx;Option=3;[Ô]
End Function


O que pude comprovar foi que usando o INNER JOIN que o Marcelo sugeriu deu o mesmo resultado do SHAPE...
Pelo jeito vou ter que recorrer ao Active Reports mesmo...
MARCELO.TREZE 14/07/2012 00:34:29
#406069
oresultado que apresentou não foi o que vc queria?

poste como ficou
DANLEONHART 14/07/2012 21:15:15
#406113
OK !
Resolvido !
Tópico encerrado , respostas não são mais permitidas