Como deixar o campo PK em um form como não editável de verdade?

opa, valeu! hehe

Então… nesse sistema podem haver multiplos acessos, tanto de clientes (construtoras) como de fornecedores… não criei uma tabela pra cada um, só coloquei um campo adicional em cada tabela pra indicar quais registros pertencem a cada usuário… o resto é feito por variáveis em sessão e cookies… E o controle de login e de permissões/segurança eu fiz conforme o modelo no site da netmake, mas no sc5 já vai ter esta opção nativa… esse sisteminha foi feito todo pelo sc em cerca de 3 meses… faltam algumas coisas ainda, mas quero ver se arrumo ele pelo sc5 já hehe

Ah, pra ele voltar pra consulta vc pode fazer o seguinte no formulário:
vai no menu “Aplicação -> Navegação” e seleciona “sim” em “Sair da Aplicação”…

na ligação vc precisa definir a URL de saída do formulário… coloca o mesmo nome da consulta… assim, após realizar um validate (insert, update ou delete) no formulário, ele já irá sair dele e voltar pra consulta!

Blz!
E como eu escrevo essa url de saída? Digo, o que eu escrevo? Apenas o nome da aplicação de consulta?

Sobre colocar tudo em um banco só e usar o campo id do cliente, tenho receio de ‘inchar’ demais o banco e tornar lento, pois eu to tentando fazer um clone de um sistema win32 meu, que tem na maior tabela cerca de 230 campos, com alguns milhares de registros. Será que não ficará lento com o tempo?

Ah, já vi, valeu! Era só importar! hehehe

isso, é só colocar o nome da consulta mesmo…

acho que não fica lento não… talvez numa tabela com 230 campos fique um pouco lento se o volume de dados for grande… eu costumo dividir as tabelas no banco, crio uma tabela só pros dados principais, outra só pra fotos, e por aí vai… daí relaciono elas…

mas acho que o grande culpado da lentidão é o comando select… se criar índices nos campos principais de pesquisa, usar multiplos filtros no where só quando necessário (e colocar primeiro aquele que irá refinar melhor os resultados), usar paginação, etc., agiliza bastante a consulta…

Eu tinha uma tabela num arquivo em access com mais de 5 milhões de registros, mas eram só uns 10 campos… no access era uma lentidão tremenda, tinha que fazer a pesquisa e ir tomar um café hehehe converti pra mysql, defini os índices e ao realizar a consulta (pelo shell) retornava rapidinho o resultado…

Percebi que falei besteira e já corrigi, ficou legal.
Só uma coisa me deixou encafifado!
O SC não deixa eu ter um botão apenas pra inclusão (Novo) conforme fizemos e ao mesmo tempo criar outra ligação usando o botão do lápis, só deixa que a segunda ligação seja do tipo campo! To errado?

Queria assim:
Botão ‘Novo’ ou ‘Inserir’ no cabeçalho da consulta, abrir já incluindo e voltando, isso já consegui com os macetes q vc me deu;
Botão ‘Lápis’ gerado pelo SC, abrindo o mesmo form de cima, mas apenas editando ou excluindo.

Ainda to usando a consulta simples, o certo seria eu usar o form grid view? Tipo como vc fez no seu sistema (inclusive colocando as imagens Editar e Excluir)?

Quanto a lentidão e número de campos, realmente meu sistema win32 foi mal concebido, to trabalhando justamente numa melhor normalização.
Como vou começar do zero no SC, vou fazer essa divisão bem melhor, mas vc não acha trabalhoso usar o filtro do ID no sistema inteiro?
Não tem risco do usuário usar os recursos do SC e realizar alguma consulta sem esse filtro inicial?

Só me falta agora colocar um botão ‘Pesquisar’, tanto na consulta como no form, tem como?

No formulário vc pode criar um scriptzinho no evento onload, mais ou menos assim: (não testei isso ainda hehe)

if (sc_btn_new) // se for clicado no botão novo - modo inclusão
{
    sc_btn_display ('insert', 'on'); // mostra o botão Inserir
    sc_btn_display ('new', 'on'); // mostra o botão Novo
}
else // se for modo atualização / edição
{
    sc_btn_display ('insert', 'off'); // esconde o botão inserir
    sc_btn_display ('new', 'off'); // esconde o botão novo
}

o grid view já vem com aqueles botões padrões já… fica bem prático pq ele já cuida de todas estas operações do formulário!

o filtro que coloquei pelo id do usuário é obrigatório… tem uma biblioteca que é carregada em todas as aplicações que verifica se a variável está definida, senão ele faz logoff do sistema… e como é variável em sessão, teóricamente o usuário não pode alterar… e tbm tem a macro sc_apl_status do scriptcase, que libera as aplicações no login pra restringir acessos externos (sem passar pelo login)… vale a pena conferir:
http://www.scriptcase.com.br/scriptcase4_pt_br/doc/manual_mp/80-Apendice/08-Programacao/01-Macro_sc/00-macros_sc.htm#sc_apl_status

Na consulta já tem isso disponível, é só habilitar o botão “Filtro” na barra de ferramentas… no formulário vc teria que criar um botão do tipo “Ligação” para redirecionar pra uma outra aplicação do tipo “Filtro”…

Robson, no grid view, onde eu posso substituir os ícones editar, atualizar e novo, por botões com imagens mais legais, tipo o que vc fez no seu sistema?

Bom Dia,

Este tópico está bem movimentado… rs…

No momento da ligação da Consulta para o formulário existe uma propriedade chamada “Exibir botão novo na consulta”, onde ele irá já aparecer na barra de ferramentas o botão de novo que irá chamar o formulário.

Espero ter ajudado.

Rodrigo Lins.

Alguns botões que vc viu não eram realmente botões, era um campo adicional tipo texto ou Imagem html, simulando os botões… Mas vc pode mudar os botões padrões do SC, basta ir no menu: “Ferramentas -> Visualização -> Esquemas” e “Ferramentas -> Visualização -> Botões”. Dá pra criar novos conjuntos de botões (com img e/ou texto) e tbm novos esquema de visualização (cores, imagens de fundo, etc)…

Att.
Robson

Valeu!