Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda ai que Essa pra mim e Braba VB6 + CR 8.5


RobinhoVB

Pergunta

Vou tentar ser mais explicito possivel galera

Meu Banco MYSQL rodando normal renda sendo cadastrados tudo numa boa

So que na minha empresa adotaram 3 criterios para entraga de casas proprias

1 - Renda menor (ESSE TEM VEZ NA FILA)

2 - Renda media (ESSE EO PROXIMO DA VEZ)

3 - Renda alta (ESSE EO QUE SE SEGUE)

esses item eu dei o nome no CAMPO da TABELA de PRIORIDADE 1,2,3 etc...

ou seja se 1 tem prioridade sobre os demais ate ai achei que era isso (SO QUE não VAI SER BEM ASSIM)

Decidiram que independente de onde estiver no banco 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

1 sera 2 , 3 nossa isso ta me deixando maluco

eu criei 2 index (chave dupla) PRIORIDADE + DATA (EM FORMATO DE DATA MESMO OK GALERA yyyy-mm-dd) acho que dar para entender serao sempre criados 1 grupo com 3

itens

1 - Renda menor

2 - Renda media

3 - Renda alta

1 - Renda menor

2 - Renda media

3 - Renda alta e assim vai conto com vocês pra matar esse LEAO ....... vlw

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0
não entendi direito o q você ta precisando.

não seria entrar no menu Report -> Sort Records... e mandar ordenar pela data e depois pela prioridade??

Opa ola kuroi não e bem assim

tipo

minha tabela ficara com varios cadastros ate nada de novo

os itens estarao misturados

1 renda baixa

3 renda media

2 renda media

2 renda media

3 renda alta

1 renda baixa

por que não serao cadastrados conforme a prioridade eo report quem vai ordenar

so que quando gerar o report tem que sair assim

1 - fulano - renda baixa

2 - sicrano - renda media

3 - zezinho - renda alta

dai volta tudo de novo

1 - jose - renda baixa

2 - maria -renda media

3 - benedito - renda alta

se não encontrar na tabela item 2 poe o 1 eo 3 ficando assim

1 - Mario - renda baixa

3 - Fernado - renda alta

quem tem numero maior tem prioridade menor por ganhar mais entendeu

me ajuda ai Mao santa to perdidaço....

vle

Link para o comentário
Compartilhar em outros sites

  • 0

então, mas não seria so mandar ordenar como eu falei acima??

o q eu entendi é q os grupos serao dividos pela data, não seria isso??

exemplo:

01/01/2010

-----------

1 - fulano - renda baixa

2 - sicrano - renda media

3 - zezinho - renda alta

02/01/2010

-----------

1 - jose - renda baixa

2 - maria -renda media

3 - benedito - renda alta

03/01/2010

-----------

1 - Mario - renda baixa

3 - Fernado - renda alta

não seria isso??

se for isso, é so ordenar pela data e depois pela prioridade dentro da opcao Report -> Sort Records... do menu.

Link para o comentário
Compartilhar em outros sites

  • 0
então, mas não seria so mandar ordenar como eu falei acima??

o q eu entendi é q os grupos serao dividos pela data, não seria isso??

exemplo:

01/01/2010

-----------

1 - fulano - renda baixa

2 - sicrano - renda media

3 - zezinho - renda alta

02/01/2010

-----------

1 - jose - renda baixa

2 - maria -renda media

3 - benedito - renda alta

03/01/2010

-----------

1 - Mario - renda baixa

3 - Fernado - renda alta

não seria isso??

se for isso, é so ordenar pela data e depois pela prioridade dentro da opcao Report -> Sort Records... do menu.

Po parceiro a data nessa situacao nem ta influenciando muito pode ser qualquer data mesmo o X da questao esta na forma em que o Report vai apresentar

Ele não definir todas as Rendas Baixa (1) , Rendas Media (2), Rendas alta (3)

tipo

1

1

1

1

2

2

2

3

3

3

tem que ser 1 2 3, 1 2 3, 1 2 3 altenadas por que se não quem tem renda alta não vai pegar CASA nunca entendeu ? acho que agora vai

quelquer coi eu posto o codigo. que na verdade nem tem so comecei mas conto com você ainda eo CARA do CR vlw

Link para o comentário
Compartilhar em outros sites

  • 0
então, mas não seria so mandar ordenar como eu falei acima??

o q eu entendi é q os grupos serao dividos pela data, não seria isso??

exemplo:

01/01/2010

-----------

1 - fulano - renda baixa

2 - sicrano - renda media

3 - zezinho - renda alta

02/01/2010

-----------

1 - jose - renda baixa

2 - maria -renda media

3 - benedito - renda alta

03/01/2010

-----------

1 - Mario - renda baixa

3 - Fernado - renda alta

não seria isso??

se for isso, é so ordenar pela data e depois pela prioridade dentro da opcao Report -> Sort Records... do menu.

Po parceiro a data nessa situacao nem ta influenciando muito pode ser qualquer data mesmo o X da questao esta na forma em que o Report vai apresentar

Ele não definir todas as Rendas Baixa (1) , Rendas Media (2), Rendas alta (3)

tipo

1

1

1

1

2

2

2

3

3

3

tem que ser 1 2 3, 1 2 3, 1 2 3 altenadas por que se não quem tem renda alta não vai pegar CASA nunca entendeu ? acho que agora vai

quelquer coi eu posto o codigo. que na verdade nem tem so comecei mas conto com você ainda eo CARA do CR vlw

Explicando melhor

Antigamente era mesmo assim quem tinha prioridade 1 pegava logo a casa (LEMBRANDO QUE EU já 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 não 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 não pegaria casa nem tão 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 não tem o (1) COLOCAR 2,3

Olha isso como a tabela

PRIORIDADE | NOME | RENDA (Renda já 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

[s9]

Link para o comentário
Compartilhar em outros sites

  • 0

mas então robinho. como você junta o RONALDO LIMA, a PAOLA DUARTE e o SERGIO DA SILVA?? como você sabe q são eles tres q formarao um grupo??

ou você não sabe e isso sera aleatorio??

se for aleatorio, o unico modo q vejo de fazer isso seria adicionar um campo a mais na tabela q seja referente ao grupo q a pessoa se encontra.

e ai você ia preenchendo esse campo a medida q as pessoas forem sendo cadastradas.

so o problema vai ser preencher esse campo para os dados já existentes dependendo da quantidade de dados.

Link para o comentário
Compartilhar em outros sites

  • 0
mas então robinho. como você junta o RONALDO LIMA, a PAOLA DUARTE e o SERGIO DA SILVA?? como você sabe q são eles tres q formarao um grupo??

ou você não sabe e isso sera aleatorio??

se for aleatorio, o unico modo q vejo de fazer isso seria adicionar um campo a mais na tabela q seja referente ao grupo q a pessoa se encontra.

e ai você ia preenchendo esse campo a medida q as pessoas forem sendo cadastradas.

so o problema vai ser preencher esse campo para os dados já existentes dependendo da quantidade de dados.

não sera aleatorio pega o 1 o 2 e o 3 que encontrar na vez

COMO EU SEI ?

Eles são os primeiros o RONALDO e renda baixa , a PAOLA Media e o SERGIO Alta

dai os prox e so segui quem e 1 2 ou 3, olha o exemplo 1(UM) 2(DOIS) E 3(TRES) são campos definidos como prioridade

Quanto a Faixa de renda fica tranquilo isso a empresa já estipulou Baixa (Salario minimo ate 999,00) (Media 1000,00 a 1999,00) (Alta acima de 2000,00) isso já esta amarradinho.

O CR não tem de jeito nenhum essa funcao por FORMULA, por AGRUPAMENTO, sera que ng nunca penssou que um dia poderia ter um relatorio assim ?

Editado por RobinhoVB
Link para o comentário
Compartilhar em outros sites

  • 0

a então é aleatorio sim. você ta pegando pelo primero q aparecer e isso não da pra saber. não tem nd ditando a ordenacao q você deve seguir. então é aleatorio.

hum, acho q ninguém nunca pensou num relatorio assim hehe. mas isso é o tipo de coisa q o programador q tem q controlar.

isso de pegar o primero q aparecer não existe mesmo, não da pra trabalhar no crystal assim. alias, não se trabalha com banco de dados assim. alguma coisa teria q ser feita na tabela pra garantir a ordenacao.

ordenacoes so podem ser feitas pondo todos os registros na ordem: 11112222333 ou 33322221111. não existe fazer 123123123, não tem como saber qual 1 tem q ir aonde, ou qual 2 tem ir aonde.

bom, mas vejo umas opcoes pra você aqui:

- você tem um campo autonumeracao na sua tabela?? mesmo q não seja autonumeracao, se for um id numerico q vai somando 1 a cada registro, serve.

isso so funcionaria se você sempre tiver, a cada 3 registros, um pra cada prioridade. exemplo, tem q ser (1, 2, 3 - 3, 2, 1 - 2, 3, 1). não pode ter assim: (1, 2, 1 - 3, 1, 2 - 3, 1, 3). ou seja se numa sequencia estiver faltando o registro de uma das prioridades, esquece.

e se algum registro do meio tiver sido excluido, fazendo ficar faltando um numero no seu campo id, esquece tb.

se isso q eu falei estiver seguido certinho, você pode fazer um agrupamento baseado no id a cada 3 numeros.

ai nesse caso, me fala ai q eu passo mais detalhes.

senao, so te resta a segunda opcao:

- ponha na tabela aquele campo de q eu falei no post de cima pra juntar as pessoas num grupo. exemplo, se você tem os registro assim:

PRIORIDADE | NOME | GRUPO
-------------------------
1 | RONALDO LIMA     | 1
3 | SERGIO DA SILVA  | 1
2 | PAOLA DUARTE     | 1
2 | ROBSON BATISTA   | 2
1 | MARCELO OLIVEIRA | 2
3 | AMELIA PEREIRA   | 2[/code]

assim você sabe q RONALDO, SERGIO e PAOLA tem q ficar juntos.

se não tem isso, não tem como saber.

ai se você tiver mtos dados e for dar muito trabalho preencher a tabela toda, você pode fazer um programa no visual basic q faca isso pra vc. nesse caso, me fala q eu te ajudo no codigo.

Link para o comentário
Compartilhar em outros sites

  • 0
a então é aleatorio sim. você ta pegando pelo primero q aparecer e isso não da pra saber. não tem nd ditando a ordenacao q você deve seguir. então é aleatorio.

hum, acho q ninguém nunca pensou num relatorio assim hehe. mas isso é o tipo de coisa q o programador q tem q controlar.

isso de pegar o primero q aparecer não existe mesmo, não da pra trabalhar no crystal assim. alias, não se trabalha com banco de dados assim. alguma coisa teria q ser feita na tabela pra garantir a ordenacao.

ordenacoes so podem ser feitas pondo todos os registros na ordem: 11112222333 ou 33322221111. não existe fazer 123123123, não tem como saber qual 1 tem q ir aonde, ou qual 2 tem ir aonde.

bom, mas vejo umas opcoes pra você aqui:

- você tem um campo autonumeracao na sua tabela?? mesmo q não seja autonumeracao, se for um id numerico q vai somando 1 a cada registro, serve.

isso so funcionaria se você sempre tiver, a cada 3 registros, um pra cada prioridade. exemplo, tem q ser (1, 2, 3 - 3, 2, 1 - 2, 3, 1). não pode ter assim: (1, 2, 1 - 3, 1, 2 - 3, 1, 3). ou seja se numa sequencia estiver faltando o registro de uma das prioridades, esquece.

e se algum registro do meio tiver sido excluido, fazendo ficar faltando um numero no seu campo id, esquece tb.

se isso q eu falei estiver seguido certinho, você pode fazer um agrupamento baseado no id a cada 3 numeros.

ai nesse caso, me fala ai q eu passo mais detalhes.

senao, so te resta a segunda opcao:

- ponha na tabela aquele campo de q eu falei no post de cima pra juntar as pessoas num grupo. exemplo, se você tem os registro assim:

PRIORIDADE | NOME | GRUPO
-------------------------
1 | RONALDO LIMA     | 1
3 | SERGIO DA SILVA  | 1
2 | PAOLA DUARTE     | 1
2 | ROBSON BATISTA   | 2
1 | MARCELO OLIVEIRA | 2
3 | AMELIA PEREIRA   | 2

assim você sabe q RONALDO, SERGIO e PAOLA tem q ficar juntos.

se não tem isso, não tem como saber.

ai se você tiver mtos dados e for dar muito trabalho preencher a tabela toda, você pode fazer um programa no visual basic q faca isso pra vc. nesse caso, me fala q eu te ajudo no codigo.

Dizem que uma imagen vale por 1000 palavras espero que esta salve meu emprego ta tudo explicadinho

tabela.png

Link para o comentário
Compartilhar em outros sites

  • 0

4300?? o certo é 0, moderador não ganha nd.

então, robinho, isso aqui resolveria tudo:

- ponha na tabela aquele campo de q eu falei no post de cima pra juntar as pessoas num grupo. exemplo, se você tem os registro assim:

PRIORIDADE | NOME | GRUPO
-------------------------
1 | RONALDO LIMA     | 1
3 | SERGIO DA SILVA  | 1
2 | PAOLA DUARTE     | 1
2 | ROBSON BATISTA   | 2
1 | MARCELO OLIVEIRA | 2
3 | AMELIA PEREIRA   | 2[/code]

assim você sabe q RONALDO, SERGIO e PAOLA tem q ficar juntos.

se não tem isso, não tem como saber.

ai se você tiver mtos dados e for dar muito trabalho preencher a tabela toda, você pode fazer um programa no visual basic q faca isso pra vc. nesse caso, me fala q eu te ajudo no codigo.

você não pode criar esse campo a mais na tabela?? desde q você tenha um campo chave na tabela, isso resolve tudo. ai você me fala q eu te ajuda a fazer o codigo de preencher.

so q você vai ter q implementar um controle disso a medida q os usuarios forem cadastrados. ou repreencher todos os campos a cada impressao, o q deve demorar muito se a tabela for gde.

quanto a isso de inserir numa nova tabela, não é uma coisa muito interessante de ser feita, mas concordo q com isso daria ate pra resolver o seu problema.

so q tem o problema de q o programa ta sendo usado em rede, não??

imagina se duas pessoas forem tentar imprimir o relatorio ao mesmo tempo. ai os dados iam ser inseridos duas vezes e os relatorios iam sair tudo zuados.

mas em resumo, você não vai conseguir fazer isso ai so com o crystal reports.

veja qual das duas opcoes você prefere fazer. se quer adicionar um campo para o grupo na tabela, ou se você quer criar uma tabela pro relatorio.

e ai me fala q eu te ajudo com o codigo se precisar.

Link para o comentário
Compartilhar em outros sites

  • 0
4300?? o certo é 0, moderador não ganha nd.

então, robinho, isso aqui resolveria tudo:

- ponha na tabela aquele campo de q eu falei no post de cima pra juntar as pessoas num grupo. exemplo, se você tem os registro assim:

PRIORIDADE | NOME | GRUPO
-------------------------
1 | RONALDO LIMA     | 1
3 | SERGIO DA SILVA  | 1
2 | PAOLA DUARTE     | 1
2 | ROBSON BATISTA   | 2
1 | MARCELO OLIVEIRA | 2
3 | AMELIA PEREIRA   | 2

assim você sabe q RONALDO, SERGIO e PAOLA tem q ficar juntos.

se não tem isso, não tem como saber.

ai se você tiver mtos dados e for dar muito trabalho preencher a tabela toda, você pode fazer um programa no visual basic q faca isso pra vc. nesse caso, me fala q eu te ajudo no codigo.

você não pode criar esse campo a mais na tabela?? desde q você tenha um campo chave na tabela, isso resolve tudo. ai você me fala q eu te ajuda a fazer o codigo de preencher.

so q você vai ter q implementar um controle disso a medida q os usuarios forem cadastrados. ou repreencher todos os campos a cada impressao, o q deve demorar muito se a tabela for gde.

quanto a isso de inserir numa nova tabela, não é uma coisa muito interessante de ser feita, mas concordo q com isso daria ate pra resolver o seu problema.

so q tem o problema de q o programa ta sendo usado em rede, não??

imagina se duas pessoas forem tentar imprimir o relatorio ao mesmo tempo. ai os dados iam ser inseridos duas vezes e os relatorios iam sair tudo zuados.

mas em resumo, você não vai conseguir fazer isso ai so com o crystal reports.

veja qual das duas opcoes você prefere fazer. se quer adicionar um campo para o grupo na tabela, ou se você quer criar uma tabela pro relatorio.

e ai me fala q eu te ajudo com o codigo se precisar.

Sinseramente eu não estou entendendo o porque desse campo "GRUPO" na tabela cadastro, quem diz que ele sera amarrado a prioridade (1) OU (2) e o sistema ? ou vou ter que incluir isso na mao. So pra te adiantar o Banco ainda ta em fase de teste so tem no maximo 10 clientes (POR QUE ATE FICAR PRONTO O NOVO SISTEMA NOVO FICARA VALENDO O VELHO CRITERIO)

beleza criando esse campo o que devo fazer no selectionformula ou sortrecord ? como ele deve ser declarado na tabela INT , VARCHAR , Primary KEY

Kuroy meu caro sei que contra as regras do Forum mas se você poder me passar em MP seu TEL CEL acho que te explicaria melhor.

Editado por RobinhoVB
Link para o comentário
Compartilhar em outros sites

  • 0

então, esse campo grupo é simplesmente pra separar os registro de 3 em 3 pra q você possa ordenar, entendeu??

por exemplo, se no banco estiver assim:

Grupo | Prioridade
-------------------
1      | 2
1      | 3
2      | 1
1      | 1
2      | 3
2      | 2[/code] você mandando ordenar por grupo e depois por prioridade, vai ficar assim:
[code]Grupo | Prioridade
-------------------
1      | 1
1      | 2
1      | 3
2      | 1
2      | 2
2      | 3
certinho do jeito q você quer, entendeu?? esse é o unico jeito do crystal ordenar como você quer. porque ficara divido em grupos. então, crie o campo grupo como int mesmo. pra preencher, você usaria um codigo tipo assim:
Dim i As Integer, p as Integer

For p = 1 To 3
    sql = "Select * From Tabela Where prioridade = " & p
    Set rs = cn.Execute(sql)

    i = 1
    Do while Not rs.EOF
        sql = "Update Tabela Set grupo = " & i & " Where id = " & rs!id
        cn.Execute(sql)

        rs.MoveNext

        i = i + 1
    Loop
Next[/code]

simplesmente isso. so lembre de trocar os nomes de campos e objetos para os nomes q você ta usando. o campo id corresponde ao campo chave q você tiver na tabela (se por acaso você não tem um, insira imediatamente um campo auto-numeracao ai e use-o).

depois disso, no crystal reports, você entra em sort e manda ordenar primeiro por grupo e depois por prioridade.

e deve funcionar.

ve ai se da certo, qualquer coisa poste.

Link para o comentário
Compartilhar em outros sites

  • 0
então, esse campo grupo é simplesmente pra separar os registro de 3 em 3 pra q você possa ordenar, entendeu??

por exemplo, se no banco estiver assim:

Grupo | Prioridade
-------------------
1      | 2
1      | 3
2      | 1
1      | 1
2      | 3
2      | 2
você mandando ordenar por grupo e depois por prioridade, vai ficar assim:
Grupo | Prioridade
-------------------
1      | 1
1      | 2
1      | 3
2      | 1
2      | 2
2      | 3
certinho do jeito q você quer, entendeu?? esse é o unico jeito do crystal ordenar como você quer. porque ficara divido em grupos. então, crie o campo grupo como int mesmo. pra preencher, você usaria um codigo tipo assim:
Dim i As Integer, p as Integer

For p = 1 To 3
    sql = "Select * From Tabela Where prioridade = " & p
    Set rs = cn.Execute(sql)

    i = 1
    Do while Not rs.EOF
        sql = "Update Tabela Set grupo = " & i & " Where id = " & rs!id
        cn.Execute(sql)

        rs.MoveNext

        i = i + 1
    Loop
Next

simplesmente isso. so lembre de trocar os nomes de campos e objetos para os nomes q você ta usando. o campo id corresponde ao campo chave q você tiver na tabela (se por acaso você não tem um, insira imediatamente um campo auto-numeracao ai e use-o).

depois disso, no crystal reports, você entra em sort e manda ordenar primeiro por grupo e depois por prioridade.

e deve funcionar.

ve ai se da certo, qualquer coisa poste.

Antes de Testa meu caro me explica como você amarrou GRUPO 1 A PRIORIDADE 3 E GRUPO 1 A PRIORIDADE 2 E ASSIM POR DIANTE

quem e grupo e ele ta amarrado a quem

Trocando em miudos quero lembrar que SO TEM 3 CRITERIOS (RENDA BAIXA 1 - MEDIA 2 E ALTA 3) se eu relacionar ou cadastrar a situacao da (Renda 1 2 3) ao grupo vai cair na mesma redundancia na hora da ordenacao (LEMBRANDO QUE 2 OU MAIS OPERDORES VAO INCLUIR DADOS NO SISTEMA) então sera tudo sem ordenacao.

se eu definir isso na mao e um cliente for excluido por desistencia vai baguncar a tabela toda

vamos ver se entendi você quer dizer no seu Codigo, que com esse campo GRUPO 1 criado eu vo dizer para o campo prioridade que se ele for o primeiro 3 a ser encontrado na tabela ele pertencerá ao GRUPO 1 o mesmo para prioridade 2 e para prioridade 1

O q realmente não entendi foi na hora do cadastro no meu FORM como cadastrar ? como sei que GRUPO TAL ESTARA AMARRADO A PRIORIDADE TAL ?

tipo

Grupo | Prioridade | Nome | Renda

----------------------------------------------------

Esse com Esse

1____ | 3____ F____ 4.200

1____ | 2____ G____ 1.100

1____ | 1____ H____ 500

2____ | 1____ P____ 350

2____ | 3____ Z____ 2.100

2____ | 2____ K____ 1.400

Editado por RobinhoVB
Link para o comentário
Compartilhar em outros sites

  • 0
Antes de Testa meu caro me explica como você amarrou GRUPO 1 A PRIORIDADE 3 E GRUPO 1 A PRIORIDADE 2 E ASSIM POR DIANTE

quem e grupo e ele ta amarrado a quem

não entendi a pergunta.

Trocando em miudos quero lembrar que SO TEM 3 CRITERIOS (RENDA BAIXA 1 - MEDIA 2 E ALTA 3) se eu relacionar ou cadastrar a situacao da (Renda 1 2 3) ao grupo vai cair na mesma redundancia na hora da ordenacao (LEMBRANDO QUE 2 OU MAIS OPERDORES VAO INCLUIR DADOS NO SISTEMA) então sera tudo sem ordenacao.

tb não entendi. dessa vez, a ordenacao saira correta, porque pra cada grupo vai ter somente um registro de cada prioridade. então dentro do grupo sempre ficara ordenado 123.

vamos ver se entendi você quer dizer no seu Codigo, que com esse campo GRUPO 1 criado eu vo dizer para o campo prioridade que se ele for o primeiro 3 a ser encontrado na tabela ele pertencerá ao GRUPO 1 o mesmo para prioridade 2 e para prioridade 1

é isso mesmo.

O q realmente não entendi foi na hora do cadastro no meu FORM como cadastrar ? como sei que GRUPO TAL ESTARA AMARRADO A PRIORIDADE TAL ?

na hora de cadastrar você pega o ultimo grupo dessa prioridade e soma 1. exemplo:

Dim g as Integer

'p é a prioridade q esta sendo cadastrada (de acordo com a renda)
sql = "Select * From Tabela Where Grupo = (Select Max(Grupo) From Tabela Where Prioridade = " p & ")"
Set rs = cn.Execute(sql)

If rs.EOF Then
    g = 1
Else
    g = rs!Grupo + 1
End If[/code] e na hora de gravar você grava essa variavel g em grupo.
se eu definir isso na mao e um cliente for excluido por desistencia vai baguncar a tabela toda
pra resolver isso, na hora q for excluido, adicione o seguinte codigo:
[code]sql = "Update Tabela Set Grupo = Grupo - 1 Where Prioridade = " & p & " And Grupo > " & g
cn.Execute sql

onde p é a prioridade do registro q você ta excluindo, e g é o grupo do registro q você ta excluindo.

isso vai tapar o buraco q ia ficar no banco.

entretanto, se você excluir na mao no banco de dados, o buraco vai ficar la.

Link para o comentário
Compartilhar em outros sites

  • 0
Antes de Testa meu caro me explica como você amarrou GRUPO 1 A PRIORIDADE 3 E GRUPO 1 A PRIORIDADE 2 E ASSIM POR DIANTE

quem e grupo e ele ta amarrado a quem

não entendi a pergunta.

Trocando em miudos quero lembrar que SO TEM 3 CRITERIOS (RENDA BAIXA 1 - MEDIA 2 E ALTA 3) se eu relacionar ou cadastrar a situacao da (Renda 1 2 3) ao grupo vai cair na mesma redundancia na hora da ordenacao (LEMBRANDO QUE 2 OU MAIS OPERDORES VAO INCLUIR DADOS NO SISTEMA) então sera tudo sem ordenacao.

tb não entendi. dessa vez, a ordenacao saira correta, porque pra cada grupo vai ter somente um registro de cada prioridade. então dentro do grupo sempre ficara ordenado 123.

vamos ver se entendi você quer dizer no seu Codigo, que com esse campo GRUPO 1 criado eu vo dizer para o campo prioridade que se ele for o primeiro 3 a ser encontrado na tabela ele pertencerá ao GRUPO 1 o mesmo para prioridade 2 e para prioridade 1

é isso mesmo.

O q realmente não entendi foi na hora do cadastro no meu FORM como cadastrar ? como sei que GRUPO TAL ESTARA AMARRADO A PRIORIDADE TAL ?

na hora de cadastrar você pega o ultimo grupo dessa prioridade e soma 1. exemplo:

Dim g as Integer

'p é a prioridade q esta sendo cadastrada (de acordo com a renda)
sql = "Select * From Tabela Where Grupo = (Select Max(Grupo) From Tabela Where Prioridade = " p & ")"
Set rs = cn.Execute(sql)

If rs.EOF Then
    g = 1
Else
    g = rs!Grupo + 1
End If
e na hora de gravar você grava essa variavel g em grupo.
se eu definir isso na mao e um cliente for excluido por desistencia vai baguncar a tabela toda
pra resolver isso, na hora q for excluido, adicione o seguinte codigo:
sql = "Update Tabela Set Grupo = Grupo - 1 Where Prioridade = " & p & " And Grupo > " & g
cn.Execute sql

onde p é a prioridade do registro q você ta excluindo, e g é o grupo do registro q você ta excluindo.

isso vai tapar o buraco q ia ficar no banco.

entretanto, se você excluir na mao no banco de dados, o buraco vai ficar la.

Kuroi PQP não e toa que você eo PAPA do VB e do CR deu certinho perfeito meu emprego ta garantido

"MUITISSIMO OBRIGADO" o mundo agradece ter pessoas como vc

So tenho 1 so probleminha olhando aqui o MEMORANDO da empresa (DOCUMENTO QUE DITA AS REGRAS DO JOGO) tem 1 item que diz

Se o diretor por determinacao colocar UMA ou "MAIS" pessoa(s) na prioridade da fila ou seja elas não atenderao nenhum criterio daqueles já citado

1 MENOR , 2 MEDIA, 3 MAIOR. Essas pessoas encabecarao o topo da fila (Nesse caso) para mim não tem problema Adotaria o CRITERIO = 0 com o ITEM Chamado DETERMINACAO.

So que como essas pessoas serao cabecas de fila o sistema não tratara o outro ITEM 0 abaixo do outro ele colocará assim :

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Depois

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA e assim vai (Pelo Memorando quem o diretor indicar, deverá ficar na cabeca da fila)

Tipo

0 = DETERMINACAO

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Bem fazer oque ne ? Manda quem pode obedece quem tem Juizo :(

Te peco so mais essa ajudinha por favor

vlw Mesmo

ROBSON

Editado por RobinhoVB
Link para o comentário
Compartilhar em outros sites

  • 0

robson, esse eu não entendi.

o certo é q apareca assim??

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Depois

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA e assim vai (Pelo Memorando quem o diretor indicar, deverá ficar na cabeca da fila)

ou assim??

0 = DETERMINACAO

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Link para o comentário
Compartilhar em outros sites

  • 0
robson, esse eu não entendi.

o certo é q apareca assim??

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Depois

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA e assim vai (Pelo Memorando quem o diretor indicar, deverá ficar na cabeca da fila)

ou assim??

0 = DETERMINACAO

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

Meu caro o certo segundo o MEMORANDO

e assim

0 = DETERMINACAO

0 = DETERMINACAO

1 = BAIXA

2 = MEDIA

3 = ALTA

POr que o item 0 (Zero) e uma determincao do Diretor tipo (porque e amigo dele), (por acao judicial) então essas pessoas não podem seguir os criterios

1 2 3 elas vao logo pra cima na fila

foi determinado sobe

vlw

Link para o comentário
Compartilhar em outros sites

  • 0
primero todos os zeros e depois as sequencias ordenadas??

então quando a prioridade for 0, você pode gravar 0 tb no grupo, q deve sair desse jeito.

Essa foi sacanagem dessa droga de empresa

Kuroi olha isso

fiz o SISTEMA na demosntracao um acessor perguntou e a situacao de quem tem filhos ? essa pergunta ferrou tudo que voce tinha me ajudado

olha como ficou agora

você lembra que por DETERMINACAO era prioridade 0 Zero ate ai nada de novo e so Gravar PRIORIDADE = GRUPO eles estarao sempre nas cabecas.

fora ISSO

SERA

1 = BAIXA

2 = MEDIA

3 = ALTA

mas o FDP que deu a ideia de Filhos baguncou tudo

do tipo

1 = BAIXA com filhos

2 = MEDIA com filhos

3 = ALTA com filhos

4 = BAIXA sem filhos

5 = MEDIA sem filhos

6 = ALTA sem filhos

ou seja quem tem (FILHOS) tem Prioridade dentro da sua renda :wacko:

Dai eu penssei o KUROI já montou essa rotina isso vai ser facil :rolleyes: , em vez de 1 to 3 eu coloco 1 to 6 depois que acabar o ultimo renda alta com filhos, comecaria o primeiro renda baixa "SEM" Filhos :angry:

Mas a decisao final não foi. Essa ficando assim :

Um exemplo do que pode acontecer.

GRUPO PRIORIDADE FILHOS

1 -------- 1 --------- S

1 --------- 2---------- S

1 -----------3---------- S

com isso monta o primeiro bloco

GRUPO PRIORIDADE FILHOS

2 ----------- 4 ----------- N --> (OBSERVE ESSE MUTUARIO não TEM FILHOS, MAS COMO NA TABELA não EXISTE MAIS "RENDA BAIXA" ELE MESMO COM PRIORIDADE (4)

2 ----------- 2 ----------- S ELE ENTRA NA VEZ PORQUE SUA RENDA BAIXA TAMBEM DEFINE SUA POSICAO NA FILA.)

2 ------------ 3 ----------- S

com isso monta o segundo bloco

Me ajuda a descascar mas esse Abacaxi caso não fique claro eu te mando uma Imagen

ROBSON

Editado por RobinhoVB
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...