Ir para conteúdo
Fórum Script Brasil

SuporteTecnico

Membros
  • Total de itens

    13
  • Registro em

  • Última visita

Posts postados por SuporteTecnico

  1. o campo ta sendo preenchido e o form enviado?

    Pensando bem acho q nem seria necessário um form porque o próprio menu envia para a página de destino.

    Se haver outra opção de fazer isso esta aberto para sugestões...

    Basicamente preciso mostrar onde buscar conforme o menu drop down, porém o usuário deve digitar um nome de busca.

  2. Estou tentando fazer um menu de busca onde a pessoa digita a palavra chave e escolhe onde quer procurar nas opções de um select menu.

    Meu menu funciona como eu quero porém não estou conseguindo enviar o valor do input text, vejam:

    ARQUIVO DE BUSCA

    <form method="post" name="form">

    <input type="text" name="nome">

    <select class="links" name="URL" onchange="if(options[selectedIndex].value) parent.location.href= (options[selectedIndex].value)" size="1" style="background-color: #666666; color: #CCCCCC; font-family: verdana; font-size: 8pt">

    <option selected>Selecione...</option>

    <option value="lista_autor.asp">Autor</option>

    <option value="lista_livro.asp">Livro</option>

    </select>

    </form>

    ARQUIVO DE RETORNO

    busca = request.form("nome") <--- não consigo recuperar esta variável.

    Alguém tem resposta pra este problema?

  3. então... na verdade é o seguinte... ou tu testa o ultimo nome a cada letra buscando uma aproximação, ou usa like e deixa a lista do q parece para ser selecionada...

    o
    ol
    oli
    oliv ---> se acho correspondente aqui para e retorna este valor.
    olive
    Resolvido!
    <%
    '-----------------------------------------------------------
    Function RetornaSemLetraFinal(arrNome)
    RetornaSemLetraFinal = left(arrNome,(len(arrNome)-1))
    End Function
    '-----------------------------------------------------------
    Function RetornaSemLetraFinalPV(arrNome)
    RetornaSemLetraFinalPV = left(arrNome,(len(arrNome)-4))
    End Function
    '-----------------------------------------------------------
    SQL="SELECT CODIGOCUTTER FROM tbcutter WHERE NOMECUTTER = '" & pronto & "'"
    SET RS=CONEXAO.EXECUTE(SQL)
    if rs.eof then
        pronto = RetornaSemLetraFinalPV(pronto)
        Do While RS.eof
            SQL="SELECT CODIGOCUTTER, nomecutter FROM tbcutter WHERE NOMECUTTER = '" & pronto & "'"
            SET RS=CONEXAO.EXECUTE(SQL)
            pronto = RetornaSemLetraFinal(pronto)
        Loop
        if not RS.eof then 
            cod_autor=RS("codigocutter")
        End If
    Else cod_autor=RS("codigocutter")
    End If
    %>

    Obrigado a todos que opinaram...

    \o/

  4. ainda, insistindo naquele codigo q passei...

    da uma olhada aqui, fiz um banco access com uma tabela com esses mesmos dados q você passou:

    chi.rar

    por exemplo, execute esse codigo como consulta:

    Select * From tabela Where 'Oliveira' Like Cod_Autor & '*'
    ou:
    Select * From tabela Where 'Oliveira, A.' Like Cod_Autor & '*'
    veja q o retorno vai ser "oli" e "oliv". isso não tem mesmo como saber. ou você pega o primeiro, ou você da um jeito de tratar no asp. agora, esses nomes com uma letra no final. exemplo, "King, J." ou "King, P.", resolve se você passar essa ultima letra junto na query. exemplo:
    Select * From tabela Where 'King, J.' Like Cod_Autor & '*'

    por isso sugeri q você juntasse o sobrenome com a primera letra do primero nome.

    testa ai nesse banco q fiz. se você não sabe como executar consulta no access, faz o seguinte. com o banco aberto, clica no painel Objetos a esquerda, onde esta escrito Consultas. então clique em Criar consulta no modo Design. vai aparecer uma janela com o titulo "Mostrar tabela". fecha essa janela porque não vamos usar. la em cima, embaxo da opcao Arquivo do menu, o primero botao q tiver la, ao lado do disquete, tem uma flechinha ao lado. clica na flechinha e seleciona Modo SQL. vai aparecer o editor da query. então, la dentro copie um desses codigos q eu passei e clique no botao da exclamacao acima e veja o retorno q ele vai trazer.

    então testa essas querys q eu passei q você vai ver o retorno e você vai ver q ele ta selecionando os dados.

    Acho que não tem jeito mesmo, vou tentar mostrar para o usuário o mínimo de opções possíveis, pois não posso alterar os dados da Tabela Cutter (é um padrão universal)

    http://www.davignon.qc.ca/cutter1.html

    Vou tentar fazer o que o Romero sugeriu...

  5. Pessoal,

    Realmente ta difícil de achar uma solução.

    Pensei o seguinte:

    Uma função para buscar "Oliveira", não achou busca por "Oliveir", não achou busca por "Olivei" e assim segue um loop até chegar no "Oliv".

    Porém nos nomes com ", A" não daria certo. :mellow:

  6. na descricao do tópico ta escrito ASP + SQL, então achei q você usava banco sql, o codigo q passei serviria pro sql.

    vi agora q seu banco é access, então o codigo convertido pra sintaxe do access seria esse:

    Select * From tabela Where 'Oliveira' Like Cutter & '*'

    EDITADO:

    e quanto aos nomes "Abbott, M." por exemplo, esse M deve ser o primero nome da pessoa. então acho q você deveria pesquisar o nome nesse formato. exemplo, se o cara chama "Antônio Flávio de Oliveira", você procuraria por "Oliveira, A.".

    Ok, vou tentar. Desculpe pelo título do tópico, pois até então não sabia qual a melhor forma de fazer essa busca, estava pensando até em delphi...

    Obrigado pela força, galerinha desse fórum responde mesmo! Gostei daqui.

  7. Kara, mas o problema é que não existe um padrão de dados nessa coluna Cod_autor, porq, Oliv pode ser Olivi também?

    Não, a lógica é mais complexa:

    É como se fosse um filtro...

    O ---> na busca achou ---> O

    l ---> na busca achou ---> l

    i ---> na busca achou ---> i

    v ---> na busca achou ---> v

    e ---> na busca achou ---> não achou nada porque não existe, o código foi concluido, pois não tem a letra "e" no cód "Oliv".

    i

    r

    a

    Até agora, pelo que entendi seria: você quer encontrar o Número do Autor procurando pela sua asisnatura? que estaria armazenada em Cod_autor?

    Sim quando acharmos a proximidade entre "Oliveira" e "Oliv", só tem um código para retornar que vai estar no campo numero (nesse caso é o 48)

    Também não tem uma exatidão nos caracteres na coluna cod_autor tem nomes bem distintos, tipo:

    133 Abbott, M.

    134 Abbott, S.

    111 Ba

    25 Edw

    26 Edwards

    Sei que é muito complexo, mas ainda não desisti.

  8. Primeiro obrigado pela força kuroi!

    Mas não é isso, a busca não pode retornar mais que 1 dado.

    exemplo:

    "Antônio Flávio de Oliveira"

    1° Antes de fazer a busca temos que separar o último sobrenome, neste caso "Oliveira"

    já sabemos que a variável do exemplo é "Oliveira", ótimo.

    2° Na base de dados vai estar toda a lista de A a Z, mais ou menos assim:

    Numero|Cod_autor

    51 Kin

    52 King

    53 King, J.

    54 King, P.

    55 Kings

    144 Naer

    145 Naev

    146 Naf

    45 Ole

    46 Oli

    47 Olip

    48 Oliv <--- Uhuuu, acharemos ele aqui! Retornaremos o numero 48. Mas como?

    49 Olivi

    51 Olm

    52 Olo

    53 Oly

    Não tenho nem idéia de como fazer isso...

  9. O banco de dados é access.

    Como disse existem mais de 15000 dados, o script vai ter que varrer toda a tabela em busca da palavra mais próxima.

    Me expressei mal, a busca será feita utilizando o último sobrenome.

    Exemplo 1:

    "Antônio Flávio de Oliveira"

    Tabela Cutter

    45 Ole

    46 Oli

    47 Olip

    48 Oliv <-- esta aqui pega o numero 48

    49 Olivi

    51 Olm

    52 Olo

    53 Oly

    54 Om

    55 Ome

    Exemplo 2:

    "Arnaldo Süssekind"

    Tabela Cutter

    959 Sup

    961 Sur

    962 Surr

    963 Surv

    964 Sus <-- esta aqui pega o numero 464

    965 Sut

    966 Suth

    967 Sutt

    968 Suz

    969 Svi

    A sequência vai estar em ordem alfabética, também vou separar em duas colunas (numero, cod_nome) mas a posição não tem como saber.

  10. Muito bom! Era isso mesmo, só que não para por aí...

    Tem algo muito mais complexo que eu gostaria de fazer, se alguém já viu a tabela Cutter sabe do que estou falando, ela possui mais 15000 códigos.

    Bem, vamos ver se consigo passar minha idéia...

    Na tabela Cutter existe vários dados como estes:

    cod cod_autor

    422 Weil

    423 Wein

    424 Weinm

    Preciso que o código sql faça uma busca na Tabela Cutter e faça uma "aproximação" do último sobrenome e retorne o código.

    Exeplo de nome:

    Arthur Bragança de Vasconcellos Weintraub

    Como já conseguimos separar a primeira letra do último sobrenome, ficaria assim a visualização:

    W423

    Conto com a ajuda de vocês!

    Muito obrigado pela a ajuda anterior.

  11. é sim. exemplo:

    <% Dim primeira_letra
    
    primeira_letra = Left(Right(rs("nome"), InStr(StrReverse(rs("nome")), " ")), 1) %>
    ou:
    <% Dim primeira_letra
    Dim x
    
    x = Split(rs("nome"), " ")
    primeira_letra = Left(x(Ubound(x)), 1) %>

    Não consegui montar a sentença...

    <%

    Dim primeira_letra

    primeira_letra = Left(Right(rsL("autor"), InStr(StrReverse(rsL("autor")), " ")), 1)

    %>

    <input name="cutter" type="text" size="15" alt="yes" value="<%response.Write(primeira_letra)%>" readonly="true"/>

  12. Estou com um novo desafio e preciso de ajuda.

    Preciso de uma busca no campo "nome" da tabela, que me retorne somente a primeira letra do último sobrenome.

    Exemplo:

    Arthur Bragança de Vasconcellos Weintraub => deve me retornar somente a letra "W"

    Será que é possível isso?

×
×
  • Criar Novo...