|
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
|
SÃO VICENTE SP - BRASIL
|
|
Postada em 27/01/2009 11:50 hs
LCRamos mostra no código onde você está tentando concatenar
|
|
|
LCRamos
|
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
|
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)
|
|
|
|