AJUDA AI QUE ESSA PRA MIM E BRABA VB6 CR 8.5
Vou tentar ser mais explicito possivel galera
Tenho meu Banco rodando minha Tabela normal os dados sendo cadastrados tudo numa boa
So que na minha empresa adotou 3 criterios para entraga de casas proprias, para beneficiar quem ganha menos.
1 - Renda menor (ESSE TEM VEZ NA FILA PARA ENTREGA DA CASA)
2 - Renda media (ESSE EO PROXIMO DA VEZ PARA ENTREGA DA CASA)
3 - Renda alta (ESSE EO QUE SE SEGUE PARA ENTREGA DA CASA)
a esses itens numericos eu dei o nome no CAMPO da TABELA de PRIORIDADE 1,2,3 etc...
ou seja se e o n° 1 tem prioridade sobre os demais ate ai tava facil (SO QUE NÃO VAI SER BEM ASSIM )
Decidiram que independente de onde estiver na tabela o item de prioridade 1 ele sera o primeiro, ( 2 o segundo), (3 o terceiro) dai comeca tudo de novo 1, 2, 3 e assim por diante se não tiver o item 1 será 2 e 3 se mais tarde aparaecer prioridade 1 ele volta a ser o primeiro, lembrando que quem ja pegou casa sera excluido do banco, nossa isso ta me deixando maluco
eu criei 1 index ( PRIORIDADE ) na tabela
Gostaria que o Crystal mostrar os criterios em varios grupos com 3 itens independente da posicao em que se encontra a (PRIORIDADE) ex: 1,1,1,3,2,1,3,3,2,1,3,2,2,3,3
ficara sempre como abaixo...
1 - Renda menor
2 - Renda media
3 - Renda alta
1 - Renda menor
2 - Renda media
3 - Renda alta
Exemplo de situacao com 2 itens tipo acabou a PRIORIDADE 3 entao lista 1 e 2
1 - Renda menor
2 - Renda media
Exemplo de situacao com 2 itens tipo acabou a PRIORIDADE 1 entao lista 2 e 3
2 - Renda media
3 - Renda alta
e assim vai conto com vocês pra matar esse LEAO ....... vlw
Mano véio.
Eu não trabalho com crystal, mas sei, e quem trabalha com ele, pode dizer se estou certo ou errado.
Pelo que sei, o crystal tem uma seção onde se pode colocar fórmulas, dai, tu pode montar tua sql pra ele indexar a tabela pelo campo Prioridade, tipo
strSqlPrioridade = [Ô]Select * from Tabela order by Prioridade[Ô].
Mas pelo visto ( pelo que pude entender ) se existe uma prioridade deveria listar primeiro todas as prioridades 1 - Renda menor,
depois todas as prioridades 2 - Renda Média e por fim todas as prioridades 3 - Renda Alta, pois se vai imprimir 1 - 2 - 3 e depois
volta 1 - 2 - 3 e novamente 1 - 2 - 3 não justifica saber se a renda é baixa, média ou alta.
O que poderia ser é prioridade 1 - Renda até R$ X, prioridade 2 - Renda de R$ X até R$ Y e prioridade 3 - Renda de R$ Y até R$ Z.
Mesmo assim estaria indexando os intervalos 1 2 e 3. Todos da prioridade 1, depois todos da prioridade 2 e por fim todos da prioridade 3.
Dá no mesmo, pois não justifica uma prioridade 2 furando a fila sem ter terminado a prioridade 1 e uma prioridade 3 furando a fila sem ter
terminado as prioridades 1 e 2.
Estando indexado a fila será justa do começo ao fim.
. . .
Desculpa não ter terminado.
O único critério a meu ver que pode furar uma fila com crÃterios de renda, é o sorteio
. . .
Citação::
Desculpa não ter terminado.
O único critério a meu ver que pode furar uma fila com crÃterios de renda, é o sorteio
. . .
Ola amigao MICROSCHEME
Antigamente era mesmo assim quem tinha prioridade 1 pegava logo a casa (LEMBRANDO QUE EU JA AMARREI O R$ DA RENDA AO NUMERO DA PRIORIDADE)
So que pessoas (DESONESTAS CLARO) Cadatravam como renda baixa so pra pegar logo a casa dai foi estipulado que:
Sera o primeiro quem tem renda Baixa logo aseguir Media e depois renda Alta nao tudo de 1 vez tipo 1111112222233333, sera 1 depois 2 depois 3 dai o proximo de renda baixa1media 2 e alta 3 . Porque senao quem tinha renda alta nao pegaria casa nem tao cedo se fizer o select claro que ele vai colocar 1111112222233333 e depois como o relatorio vai tratar isso seprando 123 123 123 ou se nao tem o (1) COLOCAR 2,3
Olha isso como a tabela
PRIORIDADE | NOME | RENDA (Renda ja aesta amarrada a prioridade) SO PRA LEMBRAR
1 RONALDO LIMA R$ 250,00
3 SERGIO DA SILVA R$ 2000,00
2 PAOLA DUARTE R$ 1000,00
2 ROBSON BATISTA R$ 1000,00
1 MARCELO OLIVEIRA R$ 250,00
3 AMELIA PEREIRA R$ 2000,00
NO RELATORIO GOSTARIA DE FICAR ASSIM
PRIORIDADE | NOME | RENDA
1 RONALDO LIMA R$ 250,00
2 PAOLA DUARTE R$ 1000,00
3 SERGIO DA SILVA R$ 2000,00
1 MARCELO OLIVEIRA R$ 250,00
2 ROBSON BATISTA R$ 1000,00
3 AMELIA PEREIRA R$ 2000,00
TA BRABO ME AJUDA AI
Tá.
Blz . . .
Vamo pensá junto intão.
Nesse caso eu faria o seguinte.
Um recordset filtrado com as prioridades 1, tipo order by renda
Um recordset filtrado com as prioridades 2, idem
um recordset tiltrado com as prioridades 3, idem
Uma nova tabela
Um loop nos recordsets, avançando do primeiro ao último registro de cada e adicionando na nova tabela.
um registro do recordset com as prioridades 1
um registro do recordset com as prioridades 2
um registro do recordset com as prioridades 3
primeiro com os três recordsets, caso o primeiro acabe, continua com o segundo e assim por diante ou vice e versa
Ficaria uma nova tabela com a sequência que tu precisa e ai é só imprimir.
Possivelmente essa seja a solução mais rápida para o teu problema.
Você não pode esquecer que em cada prioridade, devem existir maiores e menores valores, deve levar em consideração
que mesmo dentro de uma prioridade uma renda menor deve ou deveira ter prioridade em relação a uma renda maior, tipo
prioridade 1 - renda de 1.000,00 deve ter prioridade em relação a uma mesma prioridade 1 - renda de 1.500,00
Acredito que seja isso
Tenta e retorna
Blz . . .
Citação::
Tá.
Blz . . .
Vamo pensá junto intão.
Nesse caso eu faria o seguinte.
Um recordset filtrado com as prioridades 1, tipo order by renda
Um recordset filtrado com as prioridades 2, idem
um recordset tiltrado com as prioridades 3, idem
Uma nova tabela
Um loop nos recordsets, avançando do primeiro ao último registro de cada e adicionando na nova tabela.
um registro do recordset com as prioridades 1
um registro do recordset com as prioridades 2
um registro do recordset com as prioridades 3
primeiro com os três recordsets, caso o primeiro acabe, continua com o segundo e assim por diante ou vice e versa
Ficaria uma nova tabela com a sequência que tu precisa e ai é só imprimir.
Possivelmente essa seja a solução mais rápida para o teu problema.
Você não pode esquecer que em cada prioridade, devem existir maiores e menores valores, deve levar em consideração
que mesmo dentro de uma prioridade uma renda menor deve ou deveira ter prioridade em relação a uma renda maior, tipo
prioridade 1 - renda de 1.000,00 deve ter prioridade em relação a uma mesma prioridade 1 - renda de 1.500,00
Acredito que seja isso
Tenta e retorna
Blz . . .
E amigao eu realmente pensei nisso na criacao de 1 nova tabela e colocar item por item vindo dos 3 recordsets dai mandar o CR imprimir
dai que entra a duvida:
1 - Quanto a Faixa de renda fica tranquilo isso a empresa ja estipulou Baixa (Salario minimo ate 999,00) (Media 1000,00 a 1999,00) (Alta acima de 2000,00) isso ja esta amarradinho.
2 - Quanto a criacao de uma nova tabela ficaria perfeita, so que essa tabela apos o CR imprimir eu vo ter que ZERAR ela nao seria isso ? ou seja deletar todos os dados para uma nova adicao e impressao do CR, esse banco vai rodar em REDE isso nao ia gerar muito trafego ?
3 - O CR nao tem de jeito nenhum essa funcao por FORMULA, por AGRUPAMENTO, sera que ng nunca penssou que um dia poderia ter um relatorio assim ?
4 - Não querendo ser abusado vc teria um exemplo ai com vc de LISTCOUNT com tabelas abertas por instrucao SQL vo precisar disso com certeza.
vo entar e postar vlw
Grato
Tô meio enferrujado, mas vou ver ser consigo uma forma de tu poder imprimir esse relatorio através de um recordset que
junte as informaçoes que precisa e imprimir com printer.print.
Quanto a nova tabela, quando acabar de imprimir, tu zera ela.
. . .
Cara.
Tenta implementar da seguinte forma:
Crie os 3 recordsets do jeito que tentei te passar:
Um recordset filtrado com as prioridades 1 com order by renda
Um recordset filtrado com as prioridades 2 com order by renda
um recordset tiltrado com as prioridades 3 com order by renda
cria 3 variaveis boleanas com valor true
boleana1 para o recordset 1
boleana2 para o recordset 2
boleana3 para o recordset 3
e tenta fazer um while desse jeito ( não estou conectado ao vb mas voce vai entender )
recordset1.findfirst
recordset2.findfirst
recorsdet3.findfirst
While boleana1 = true or boleana2 = true or boleada3 = true
if not recodset1.eof
printer.print . . . [ô] a impressão do registo
recordset1.movenext
else
boleana1 = false
endif
if not recodset2.eof
printer.print . . . [ô] a impressão do registo
recordset2.movenext
else
boleana2 = false
endif
if not recodset3.eof
printer.print . . . [ô] a impressão do registo
recordset3.movenext
else
boleana3 = false
endif
wend
Printer.Enddoc.
Enquanto uma boleana for verdadeira vai varrer os recodsets e imprimir um de cada e quando as e boleanas forem falsas termina a impressão
Deve funcionar
. . .
Blz . . .