Criando uma Combox sem acesso a BD

Olá Pessoal!

Em VB, quando queremos criar uma combo que não seja alimentada via dados de uma tabela, temos um comando parecido com "Combo1.Additem = “Carro1”.

Existe como criar no SC uma Select onde as opções para seleção em uma combox estejam no proprio código e não sendo alimentadas via acesso a uma tabela? Agradeço a ajuda!

Lookup manual em vez de automático.

,…

1 Curtida

Sim tem. Mas vc quer isso de forma dinâmica? Se for, vc vai precisar de jquery pra fazer. Caso contrário é como o Haroldo falou. Lookup Manual

2 Curtidas

Obrigado pela respostas. E como faço isso? Sou iniciante. Existe em algum lugar no manual ou algum link onde exista um exemplo prático?

Descobri. Primeiro mesmo trazendo o campo via BD, tratamos o campo como tipo Select e não mais como Texto ou Número. Feito isso, em Edição de Campos encontramos os campos e na frente do campo transformado em Select clica-se no lápis para Editar.

Depois na parte inferior dessa tela vamos na seção Lookup de Edição, onde mudamos de Automático para Manual incluímos os vários labels com valores para cada ítem da Combo.

Uma das coisas bem legais é a definição de Lookup que o Scriptcase fornece já com tipos de telefone, profissões, países, estados do BR, etc.

1 Curtida

Sim e vc pode criar e.salvar novas listas.

1 Curtida

Isso mesmo e deixá-las Públicas.
Agora estou com outra dúvida para carregar uma combo especificamente.
Tenho uma tabela chamada CUSTOS com os campos código, ccusto e nivel. Esta tabela armazena os Centros de Custos, com nivel indicando se ela é um Centro de Custo se for 1, Conta se for 2 e Sub-Conta se for 3. O campo ccusto armazena o nome do Centro de Custo.
Quando vou criar a Select SQL estou digitando:

SELECT codigo, ccusto
FROM “public”.custos WHERE nivel = ‘2’
ORDER BY ccusto

E estou recebendo a seguinte mensagem:
Erro ao acessar o banco de dados
ERROR: operator does not exist: character = integerLINE 1: … codigo, ccusto FROM “public”.custos WHERE nivel = 2 ORDER … ^HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.

Eu já usei apóstrofes, aspas, nada e ele não está acatando o comando WHERE (quero trazer nessa combo apenas os nomes registros cujo campo nível tenha “2”.

Alguma dica? Obrigado sempre!

Se campo nível é integrar não pode comparar com uma constante string, no caso ‘2’. Use apenas 2.

Ele é campo texto. Não é um campo tipo Número.

No banco de dados?

Sim. É um banco Postgres, com a tabela “custos” tendo somente esses 3 campos que disse: codigo (integer), ccusto (char 50) e nivel (char 1). No campo nivel eu armazeno 1 se for tipo Centro de Custo, 2 se for Conta e 3 se for Sub Conta. Desta forma na minha form eu tenho 3 combos, para trazer em cada uma delas os devidos nomes de centros desde que em cada combo tenha o tipo (nivel) correspondente. O erro pelo que noto é na interpretação da Select.