Postada em 11/01/2007 10:57 hs
Tenho um banco com uma tabela e um campo (Desc). O problema é que não posso mais alterar a estrutura desse campo no caso o tamanho. A ideia é a seguinte, criar um outro campo na tabela com o tamanho maximo e uma variavel string, gravar primeiramente na string verificar a quantidade de caracteres dessa string, se conter até 255 caracteres gravar em apenas um campo, se ultrapassar 255 caracteres, gravar no primeiro campo 255 caracteres e no segundo o restante. É possivel fazer isso?
No final do código é que esta o problema!
Sub GravaBancoLM()
Dim Sql As String Dim ID As Long Dim Texto As String ID = UltimoID Texto = memo
Sql = "SELECT [Nº LTD],[Pos],Quant,[Montado Com],[Descrição],[Descrição1],[Dimensões],Desenho FROM ITEM WHERE [Nº LTD] Like '%" & NrLtd & "%'" Set Tb_Ltd = Bd_Ltd.Execute(Sql)
Do While Not Tb_Ltd.EOF If Tb_Ltd![Nº LTD] = NrLtd Then
Tb_Lm.AddNew 'Items Banco LTD_DADOS Tabela ITEMS Tb_Lm!Ltd = Tb_Ltd![Nº LTD] Tb_Lm!Posicao = Tb_Ltd![Pos] Tb_Lm!Quantidade = Tb_Ltd!Quant Tb_Lm!ID = UltimoID If Not IsNull(Tb_Ltd![Montado Com]) Then Select Case UCase(Mid(Tb_Ltd![Montado Com], 1, 2)) Case Is = "OF" Tb_Lm!OF = Tb_Ltd![Montado Com] Tb_Lm!RC = "" Case Is = "RC" Tb_Lm!RC = Tb_Ltd![Montado Com] Tb_Lm!OF = "" End Select End If
ABAIXO COMEÇA O PROBLEMA! COMO PODEM VER ESTOU TRANSFERINDO DADOS DE UM BANCO PARA OUTRO, A DESCRIÇÃO É A JUNÇÃO DE VARIOS CAMPOS DA TABELA DE ORIGEM EM UM UNICO CAMPO DA TABELA DE DESTINO. SE EU PUDER PRIMEIRAMNTE GRAVAR TODO ESSE TEXTO EM UMA VARIAVEL, DEPOIS VERIFICAR SE ULTRAPASSA 255 CARACTERES, DEPOIS DESMENBRAR E GRAVAR O RESTANTE EM OUTRA VARIAVEL E POSTERIOMENTE JUNTA-LAS PARA GERAR O RELATÓRIO. TENHO QUE POR ESSE CODIGO ANTES DE GRAVAR. ALGUEM TEM UMA IDEIA?
Tb_Lm!Descricao = TiraEspacos(Nnull(Tb_Ltd![Descrição]) & Nnull(Tb_Ltd![Descrição1]) & " " & Nnull(Tb_Ltd![Dimensões]) & " " & Nnull(Tb_Ltd!Desenho)) Tb_Lm!LM_1 = NrLm Tb_Lm.Update End If Tb_Ltd.MoveNext Loop
End Sub
|