USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  INDICES MDB
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
Postada em 27/01/2009 09:47 hs            
Amigos, tenho a rotina abaixo, que verifica no BD, se o indice existe, se não existir, ele anexa, até ai tudo bem.
 
Sub CriaIndice(Tabela As String, NomeIndice As String, NomeCampo As String, Unico As Boolean, Primario As Boolean)
 Dim iDX As New Index
 Dim i As Integer
 Dim iNOIDX As Integer
    Set tTABELA = dBANCODADOS.TableDefs(Tabela)
    iNOIDX = 0
    For i = 0 To tTABELA.Indexes.Count - 1
        If UCase(NomeIndice) = UCase(tTABELA.Indexes(i).Name) Then
            iNOIDX = (iNOIDX + 1)
        End If
    Next
    If iNOIDX = 0 Then
        iDX.Name = NomeIndice
        iDX.Fields = NomeCampo
        iDX.Unique = Unico
        iDX.Primary = Primario
        tTABELA.Indexes.Append iDX
    End If
End Sub
 
Agora o problema é o seguinte:
 
Tenho alguns indices, que são compostos de dois campos, por exemplo:
 
Nome do Indice: CHAVE
Campos dos Indices : CODIGO E DESCRIÇÃO
 
Já fiz várias tentativas de concatenação usando, + & , e não consegui, ele retorna erro no Campo.
 
Alguém sabe???
 
vlu//
     
Treze
não registrado
ENUNCIADA !
Postada em 27/01/2009 11:11 hs   
Ramos tenta criar o indice como string
 
Dim INDICE As String
 
faça sua Junção
 
INDICE = INDICE & "1"
 
na hora de enviar para o campo você converte usando o CInt
 
CInt(INDICE)
 
talvez assim você consiga
 
 
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 27/01/2009 11:50 hs            
LCRamos mostra no código onde você está tentando concatenar
 
 
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 27/01/2009 16:09 hs            
Neta Rotina:
 
Sub CriaIndice(Tabela As String, NomeIndice As String, NomeCampo As String, Unico As Boolean, Primario As Boolean)
 Dim iDX As New Index
 Dim i As Integer
 Dim iNOIDX As Integer
    Set tTABELA = dBANCODADOS.TableDefs(Tabela)
    iNOIDX = 0
    For i = 0 To tTABELA.Indexes.Count - 1
        If UCase(NomeIndice) = UCase(tTABELA.Indexes(i).Name) Then
            iNOIDX = (iNOIDX + 1)
        End If
    Next
    If iNOIDX = 0 Then
        iDX.Name = NomeIndice
        iDX.Fields = NomeCampo
        iDX.Unique = Unico
        iDX.Primary = Primario
        tTABELA.Indexes.Append iDX
    End If
End Sub
 
 
Concateno os campos nesta chamada:
 
Call CriaIndice("VENDAS", "CUPOM", "CUPOM", False, False)     ' AQUI DÁ CERTO
Call CriaIndice("VENDAS", "CAIXA", "CAIXA", False, False)       ' AQUI DÁ CERTO
Call CriaIndice("VENDAS", "CHAVE", "CAIXA & CUPOM", False, False) 1 TUDO QUE TENTEI, NÃO DEU
 
OBRIGADO.
 
vlu//
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 27/01/2009 19:30 hs            
tentou isto
 
Call CriaIndice("VENDAS", "CHAVE", "CAIXA" & "CUPOM", False, False)
   
Calpi
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 27/01/2009 21:48 hs            
ou isto
 
Call CriaIndice("VENDAS", "CHAVE", "CAIXA" &" " & "CUPOM", False, False)
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página