DUAS TABELAS , UM RELATORIO.

BADJECO 10/06/2015 16:43:25
#447593
Olá , estou com um pequeno problema na hora de fazer um link entre duas tabelas em um Relatorio no Crystal ,
Dei uma olhada na net , e a unica coisa que achei foi um tutorial falando pra fazer uma infinidade de coisas no Excel, mas pelo que vi , teria que fazer isso toda vez que gerar o relatorio em questao. ja que ao sair do sistema eu apago todos arquivos temporarios da pasta.

Sera que alguem pode me ajudar de uma forma mais simples ?

O problema e o seguinte , eu crio duas tabelas temporarias em .mdb , preciso juntar as 2 em um RPT so , mas quando faço o link no smart link o crystal me retorna.

[Ô]Invalid file link. not an indexed field[Ô]

Como posso contornar esse problema ?
Ja verifiquei os arquivos , e ate ja fiz o teste com o mesmo arquivo [ô]copiei e colei com um nome diferente[ô] mas nao deu em nada.
sempre me retorna o mesmo erro , no momento estou usando o crystal 4.6
TUNUSAT 10/06/2015 20:04:34
#447601
BADJECO,

Você tem que unir dois campos (um de cada tabela) que se relacionem. Precisam ser campos [Ô]index[Ô]. Chave Primária e Chave Estrangeira.
Pode usar o [Ô]INNER JOIN[Ô] na boa.
Se não conseguir eu monto uma query para você, mas me mostra os campos de cada tabela e os nomes das tabelas.

[][ô]s,
Tunusat.
BADJECO 11/06/2015 08:52:06
#447608
Imaginei que o problema estava na montagem das tabelas mesmo ,Até tentei aqui antes de voce responder ,mas nao consegui nao ,

Não sei se eu faço certo mas no momento pra montar a tabela eu faço assim ,
[ô]------------------------------------------------------------------------------------------------------
Set bc = OpenDatabase(App.Path & [Ô]\RPT[Ô] & novatabela & [Ô].mdb[Ô])

tbb = UCase([Ô]rpt[Ô] & novatabela)

bc.Execute [Ô]create table [Ô] + tbb + [Ô] ([ID] counter)[Ô]

Sql = [Ô]alter table [Ô] + tbb + [Ô] add column NOMEDOCAMPO text(3)[Ô] <--- REPITO ISSO PRA CADA CAMPO, VARIANDO O TIPO DELE.
bc.Execute Sql

DoEvents
bc.Close
[ô]-----------------------------------------------------------------------------------------------------------------------------------------

No momento agora eu preciso de uma tabela : TABELA1

ESPECIE text(3)[Ô]
SSER text(3)[Ô]
INICIAL text(20)[Ô]
FINAL text(20)[Ô]
UF text(2)[Ô]
DIA text(2)[Ô]
VALORCONTABIL DOUBLE[Ô]
CODIGOCONTABIL text(10)[Ô]
CFOP text(5)[Ô]
BASECALCULO DOUBLE[Ô]
ALIQUOTA DOUBLE[Ô]
IMPOSTO DOUBLE[Ô]
ISENTAS DOUBLE[Ô]
OUTRAS DOUBLE[Ô]
OBS text(100)[Ô]
MES text(100)[Ô]
ANO text(100)[Ô]
CST text(100)[Ô]
IDGRUPO text(100)[Ô]

E de outra tabela [Ô]TABELA2[Ô],que contenha os mesmos campos da de cima [Ô]TABELA1[Ô], o campo chave entre elas vai ser o MES text(100)[Ô]

Se voce puder me ensinar como eu faço o inner entre elas eu me viro aqui com o resto ,pra passar as informaçoes nao tenho problema nao , o galho mesmo é pra criar tabelas nesse estilo , ja que nunca fiz isso .

Vlw ai , denovo!
TUNUSAT 11/06/2015 10:41:32
#447610
BADJECO,

é simples. Você liga a chave primária de uma tabela com a chave estrangeira de outra (em um relacionamento um para muitos (1-N) ou (n-1)). Exemplo:

SELECT CategoryName, ProductName 
FROM Categories
INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;


Veja também:
====================================================
Operação INNER JOIN (Microsoft Access SQL)
https://msdn.microsoft.com/pt-br/library/office/ff197346.aspx
====================================================
Multiple INNER JOIN SQL ACCESS
http://stackoverflow.com/questions/20929332/multiple-inner-join-sql-access
====================================================
inner join em mais de duas tabelas
http://www.devmedia.com.br/forum/inner-join-em-mais-de-duas-tabelas/405671
====================================================
Consultas SQL de União Internas
http://www.criarweb.com/artigos/consultas-sql-de-uniao-internas.html
====================================================
INNER JOIN em várias tabelas
http://forum.baboo.com.br/index.php?/topic/138400-inner-join-em-v%C3%A1rias-tabelas/
====================================================

[][ô]s,
Tunusat.
BADJECO 11/06/2015 10:52:10
#447612
Ok , vamos por partes pq aqui a marcha é lenta.

No caso eu crio as 2 tabelas , e depois vou unir-las em uma terceira ?
Atualmente eu crio 2 arquivos separados , eu criaria 1 banco com 2 tabelas nele correto ? e apos isso eu faria esse join ? [Ô]Isso no caso eu nunca fiz , sempre precisei apenas de 1 banco pros relatorios aqui[Ô]

SELECT *
FROM TABELA1
INNER JOIN TABELA2 ON (TABELA1.MES = TABELA2.MES)
TUNUSAT 11/06/2015 11:17:49
#447615
BADJECO,

Você pode criar duas tabelas e depois fazer uma CONSULTA (SQL) que as unifique ou simplesmente criar uma única tabela.
Mas... não entendi ... você tem dois arquivos access (.MDB ou .ACCDB) diferentes?

Isso! Você pode fazer assim também:
SELECT T1.*,T2.* 
FROM Tabela1 as T1
INNER JOIN Tabela2 as T2
ON T1.Codigo = T2 .Codigo


[][ô]s,
Tunusat.
BADJECO 11/06/2015 11:34:37
#447618
ps.: Dois .MDB TUNUSAT

Até fiz aqui , mas me deparei com o mesmo problema no Crystal.

Deixa eu tentar resumir um pouco o problema ,


tenho o seguinte relatorio,
[ô]---------------exemplo 1----------------------------
codigo / nome / quanto
1 / banana / 10
2 / abacate/ 10
3 / jaca / 10
1 / banana / 10
2 / abacate/ 10
[ô]-------------------------------------------
Até ai ok , problema algum , so que no fim dele , no crystal, eu preciso mostrar o quanto somado de cada uma eu tenho
ficando,
[ô]-------------exemplo 2-------------------------------
1 / banana / 10
2 / abacate/ 10
3 / jaca / 10
1 / banana / 10
2 / abacate/ 10
[ô]---------------------------------------------------------
totais
1 / banana / 20
2 / abacate/ 20
3 / jaca / 10
[ô]--------------------------------------------

Quando eu uso o group no crysta ele so me retorna
[ô]--------------exemplo 3---------
1 / banana / 10
1 / banana / 10
totais 1 / banana / 20
2 / abacate/ 10
2 / abacate/ 10
totais 2 / abacate/ 20
3 / jaca / 10
totais 3 / jaca / 20
[ô]------------------------------------
Pensei eu entao , eu fazer 2 arquivos , e no Database do Crytal , refecenciar as duas e assim na primeira parte , mostrar o analitico dos produtos,
e em uma segunda parte eu mostrar um sintetico com a soma da cada uma , mas quando eu tento inserir um campo da segunda tabela , ele me retorna dizendo que nao index entre as duas tabelas ,oque eu preciso no caso é criar espelhar o relatorio nos moldes do Exemplo 2, mas agora nao sei se o problema esta no banco temp que eu estou criando , ou no RPT do crystal .

E na verdade tambem preferi explicar pelo caminho da uniao das duas tabelas porque ja tive um problema com isso , tentei matar dois coelhos com um tiro só mas acho que saiu pela culatra , desculpa se nao expliquei direito , acho que eu mesmo me confundi.
Alguma dica de como posso proceder ?

TUNUSAT 11/06/2015 13:40:25
#447623
BADJECO,

Não sei se é o caso, mas não serviria o [Ô]SUM[Ô]?

==============================================
Sum of Total in Crystal Report
http://forums.asp.net/t/1971464.aspx?Sum+of+Total+in+Crystal+Report+
==============================================
HOW to sum column in crystal report
http://www.codeproject.com/Questions/333197/HOW-to-sum-column-in-crystal-report
==============================================
SUM of the details in group header Crystal reports
http://stackoverflow.com/questions/16117065/sum-of-the-details-in-group-header-crystal-reports
==============================================
C# Crystal Report III Running Total & Summary - YouTube
http://www.youtube.com/watch?v=EZYgMvnvDqE
==============================================
Sum of a Column in Crystal Reports
http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/crystal-report-sum-of-a-column/
==============================================


[][ô]s,
Tunusat.
BADJECO 11/06/2015 14:10:50
#447626
Entao. serve sim , mas tanto um Subtotal puro ou fazendo ele via formula , ele me retorna sempre o mesmo layout
[ô]--------------exemplo 2---------
1 / banana / 10
1 / banana / 10
totais 1 / banana / 20
2 / abacate/ 10
2 / abacate/ 10
totais 2 / abacate/ 20
3 / jaca / 10
totais 3 / jaca / 10
[ô]------------------------------------
Sendo que o nosso sempre educado cliente quer por que quer que o layout seja
[ô]-------------exemplo 2-------------------------------
1 / banana / 10
2 / abacate/ 10
3 / jaca / 10
1 / banana / 10
2 / abacate/ 10
[ô]---------------------------------------------------------
totais
1 / banana / 20
2 / abacate/ 20
3 / jaca / 10
[ô]---------------------------------------------------------

Por isso eu pensei em usar 2 arquivos .MDB , por que mesmo que eles fossem gemeos , eu [Ô]ACHO[Ô] que poderia montar a primeirar parte com as infos do primeiro , e apos isso , faria um group pelo segundo arquivo fazendo as fomas agrupadas , nao sei se foi uma boa ideia , pq na real ainda nao consegui executa-la, mas , to tentando né =)
Entao pra resumir , o problema todo nao sao os arquivos em si, mas, o layout do relatorio.
TUNUSAT 11/06/2015 15:02:15
#447627
BADJECO,

Tenta combinar com um cara chamado [Ô]Distinct[Ô] ou [Ô]Distinctrow[Ô]. Ele vai no SELECT.
Você pode combinar o SUM com o Group By e o Distinct também.

=================================================
Use Distinct in Crystal Report Formula
http://www.codeproject.com/Questions/768967/Use-Distinct-in-Crystal-Report-Formula
=================================================
Displaying Distinct Values from a column in crystal report.
http://scn.sap.com/thread/3359122
=================================================
Crystal Reports - Select distinct records in group
http://stackoverflow.com/questions/21898193/crystal-reports-select-distinct-records-in-group
=================================================
Predicados ALL, DISTINCT, DISTINCTROW, TOP
https://support.office.com/pt-br/article/Predicados-ALL-DISTINCT-DISTINCTROW-TOP-24f2a47d-a803-4c7c-8e81-756fe298ce57
=================================================
Difference Between [Ô]Unique Values[Ô] (SELECT DISTINCT) and [Ô]Unique Records[Ô] (SELECT DISTINCTROW) in Microsoft Access Queries
http://www.fmsinc.com/microsoftaccess/query/distinct_vs_distinctrow/unique_values_records.asp
=================================================
Função Distinct Em Access
http://forum.wmonline.com.br/topic/92836-funcao-distinct-em-access/
=================================================

[][ô]s,
Tunusat.
BADJECO 15/06/2015 10:04:37
#447712
Tunusat.

Eu ja uso essas opções no select, na real tudo que voce me passou eu testei , e agredeço muito .mas a formatação no RPT do crystal continua a mesma
to começando a achar que o crystal que nao faz isso , o problema é que eu tenho uma folha de exemplo de um outro sistema , e querem porque querem que seja identico , ja analizei aqui o exemplo e ja identifiquei uma porrada de incoerencias no relatorio , faz fazer oque né.
Tópico encerrado , respostas não são mais permitidas