RETIRAR NUMERO DE TEXTO

CAETANO 28/05/2007 14:44:54
#218513
Em uma tabela tenho registros assim:
RETENTOR R2 VITON 60,00X80,00X10,00MM
GAXETA U1 POLIURET. 70,00X58,00X6,50 MM

em um unico campo
preico deixar assim:
campo1 campo2 campo3 campo4
RETENTOR R2 VITON 60,00 80,00 10,00
GAXETA U1 POLIURET. 70,00 58,00 6,50

como faço isso?
a tabela eh access.









MARIOZNETO 28/05/2007 14:51:44
#218516
Amigo, localiza o que precisa e use replace!


'Função Replace
'Substitui um caractere por outro
'Se quiser tirar todos os espaços...
Text1.Text = Replace(Text1.Text, " ","")


Veja se isto lhe ajuda!

Falow... T+
USUARIO.EXCLUIDOS 29/05/2007 09:07:06
#218635
Isso é em VB, naum sei se vai rolar corretamente no Access. Dai vc faz a adaptação!

Private Function RetornarNumeros(ByVal iText As String) As String
Dim i As Long, j As String
For i = 1 To Len(iText)
Select Case Asc(Mid$(iText, i, 1))
Case 44, 48 To 57 ',46 - Ponto
j = j & Mid$(iText, i, 1)
End Select
Next
RetornarNumeros = j
End Function


ALMARTI 29/05/2007 10:06:06
#218642
Use split
CAETANO 31/05/2007 08:42:18
#219019
Se eu usar a sub :


Private Function RetornarNumeros(ByVal iText As String) As String
Dim i As Long, j As String
For i = 1 To Len(iText)
Select Case Asc(Mid$(iText, i, 1))
Case 44, 48 To 57 ',46 - Ponto
j = j & Mid$(iText, i, 1)
End Select
Next
RetornarNumeros = j
End Function


e o valor da textbox for por exemplo :

RETENTOR 125,00 X 130,00 X 12,70

ao aplicar a função obtenho este resultado:

125,00130,0012,70

Como faço para obter estes resultados:

1º resultado = 125,00
2º resultado = 130,00
3º resultado = 12,70

eu preciso separar os valores e n apenas traze-los juntos.
Obrigado








MARIOZNETO 31/05/2007 09:24:19
#219035
Amigo, como o almarti falou! Use o Split!!!!


Veja este exemplo, a lógica é a mesma!!!!


Private Sub Command1_Click()
Call ip("10.14.236.66")
End Sub

[c]Private Function ip(numero As String)
Dim v1, v2, v3, v4 As String
Dim I As Integer

For I = 0 To UBound(Split(numero, "."))
Select Case I
Case 0
v1 = Split(numero, ".")(I)
Case 1
v2 = Split(numero, ".")(I)
Case 2
v3 = Split(numero, ".")(I)
Case 3
v4 = Split(numero, ".")(I)
End Select
Next

MsgBox v1
MsgBox v2
MsgBox v3
MsgBox v4

End Function

[/c]

Falow... T+
USUARIO.EXCLUIDOS 31/05/2007 10:29:44
#219060
caetano , faz asssim que é batata

Private Sub Command1_Click()
Dim a As String
Dim b() As String
Dim c() As String
Dim i As Integer
Dim pos As Integer
Dim posini As Integer

a = "125,00130,0012,703445,87"

c = Split(a, ",")
pos = InStr(1, a, ",")
posini = 1

ReDim b(UBound(c))

For i = 0 To UBound(c) - 1

pos = InStr(posini, a, ",")
pos = pos - posini + 1
pos = pos + 2

b(i) = Mid(a, posini, pos)
Me.Combo1.AddItem b(i)
posini = posini + pos

Next i



End Sub


CAETANO 31/05/2007 11:20:18
#219080
na pressa de obter ajuda , poi isso ja esta atrasando meu trabalho esqueci de mencionar q a informação vem do cadastro de produtos.
A informação e a fusao de 4 campos
1- Descricao
2-Interno
3-Externo
4-Altura

Onde
Descrição= Retentor NBR
Interno=125,00
Externo=130,00
Altura=12,70

Entao recebo o Seguinte em um unico campo

RETENTOR NBR 125,00X130,00X12,70

Preciso desmembrar isso para q cada informação va para seu respectivo campo
desta forma:
Campo Descrição= Retentor NBR
Campo Interno=125,00
Campo Externo=130,00
Campo Altura=12,70

Ou seja
1 - separar oq eh texto , essa sera a descrição do produto
2-Pegar o Interno , este sera o primeiro numero depois da descrição
3 Pegar o Externo , este estara depois do "x" q vem apos o primeiro numero
4 Pegar a Altura , esta vem depois do "x" q vem apos o segundo numero

Eh isso
Espero q possam me ajudar
Obs o tamanho da descrição varia , desta forma nao posso por exemplo usar um padrao.















USUARIO.EXCLUIDOS 31/05/2007 13:41:16
#219118
Já tentou usar a função Val?
CAETANO 31/05/2007 15:59:36
#219154
Não , como faço?

USUARIO.EXCLUIDOS 31/05/2007 16:18:10
#219158
Resposta escolhida
tenta isso:


..........................................................................................
Private Sub Form_Load()
a = "Ok ja foi" & "12,00X13,00X15,00"

For i = 1 To Len(a)

b = Mid(a, i, 1)

If IsNumeric(b) = False And b <> "," And UCase(b) <> "X" Or b = " " Then
c = c & b
ElseIf IsNumeric(b) = True Or b = "," Or UCase(b) = "X" Then
d = d & b
End If

Next i

Dim e() As String

e = Split(d, "X")

ReDim Preserve e(2)

'numeros
MsgBox e(0)
MsgBox e(1)
MsgBox e(2)

' palavras
MsgBox c

End Sub

.........................................................................................
Tópico encerrado , respostas não são mais permitidas