| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
tikcop1
Dołączył: 16 Lut 2008 Posty: 8
|
Wysłany: Pią Lut 17, 2012 10:53 pm Temat postu: [VBA] jak rozdzielić ciąg i przypisać wartości do zmiennych |
|
|
Witam
Proszę o podpowiedź jak rozdzielić ciąg na dwa człony
" 1,000.46 @ 26,000.13 "
Proszę zwrócić uwagę iż 1,006.46 to ilość a 26,000.13 to cena. Znak rozdzielający to @ czyli małpka. Są też spacje z lewej i prawej strony.
Z góry dziękuje |
|
| Powrót do góry |
|
 |
|
|
marcin_an Site Admin
Dołączył: 26 Maj 2005 Posty: 17278 Skąd: z drugiej strony Kabla
|
|
| Powrót do góry |
|
 |
tikcop1
Dołączył: 16 Lut 2008 Posty: 8
|
Wysłany: Pią Lut 17, 2012 11:39 pm Temat postu: |
|
|
witam
A czy mógłbym prosić dokładniej? tzn jak napisać |
|
| Powrót do góry |
|
 |
plota
Dołączył: 31 Lip 2011 Posty: 36
|
Wysłany: Sob Lut 18, 2012 12:06 am Temat postu: |
|
|
Jeżeli tekst jest w komórce A1 to może tak:
| Kod: |   Dim str As String
  Dim a As Single
  Dim b As Single
  Dim liczba As Integer
  Dim dlugosc As Integer
  Dim str1 As String
  
  
  str = Range("A1")
  liczba = InStr(str, "@")
  dlugosc = Len(str)
  
  str1 = Left(str, liczba - 1)
  str1 = Trim(str1)
  If InStr(str1, ",") > 0 Then
  str1 = Replace(str1, ",", "")
  End If
  a = Val(str1)
  
  str1 = Right(str, dlugosc - liczba - 1)
  str1 = Trim(str1)
  If InStr(str1, ",") > 0 Then
  str1 = Replace(str1, ",", "")
  End If
  b = Val(str1)
  
|
PS Z tym że ja specjalistą nie jestem więc nie musisz się kierować tym co napisałem ;) |
|
| Powrót do góry |
|
 |
MDziubek
Dołączył: 04 Paź 2011 Posty: 367
|
Wysłany: Sob Lut 18, 2012 10:42 am Temat postu: |
|
|
| Kod: |   
  dim ciag as String
  dim war() as string
  dim lewa as string
  dim prawa as string
  
  ciag=" 1,000.46 @ 26,000.13 "
  war = split(ciag,"@")
  lewa = Trim(war(0))
  prawa = Trim(war(1))
  
|
@Edit: poprawiony separator w funkcji split. _________________ Pozdrawiam Michał Programista Access (blog) |
|
| Powrót do góry |
|
 |
tikcop1
Dołączył: 16 Lut 2008 Posty: 8
|
Wysłany: Wto Lut 21, 2012 8:51 pm Temat postu: |
|
|
Bardzo dziękuje za podpowiedzi.
Pozdrawiam |
|
| Powrót do góry |
|
 |
kania Gość
|
Wysłany: Czw Mar 22, 2012 7:46 pm Temat postu: SQL zapis split trim |
|
|
sorki ze się wtracam Ale jak wyglada zapis SQL jesli chcemy to zrobic dla wszystkich komorek w tabeli?
i wynik podziału ciągu z lewej strony Chcemy wrzucic do komorki-1 A wynik podzialu prawej strony Chcemy wrzucic do komorki-2? |
|
| Powrót do góry |
|
 |
sweet_dreams
Dołączył: 31 Maj 2005 Posty: 284 Skąd: Łódź
|
Wysłany: Czw Mar 22, 2012 9:28 pm Temat postu: |
|
|
Jakie konkretnie rozszerzenie SQL-a masz na myśli?
Jeżeli chodzi o T-SQL to przykład znajdziesz poniżej SQL Server Helper - Split name
Jeżeli chodzi o PL/SQL to popróbuj z funkcjami substr oraz instr. Poza tym możesz skorzystać z google, w czasach gdy więcej programowałem to pamiętam że znalazłem w necie gotową funkcję i ją dostosowałem do swoich potrzeb. |
|
| Powrót do góry |
|
 |
kania Gość
|
Wysłany: Czw Mar 22, 2012 9:35 pm Temat postu: |
|
|
| sweet_dreams napisał: | | Jakie konkretnie rozszerzenie SQL-a masz na myśli? |
chodziło o SQL accessa 2003 :) |
|
| Powrót do góry |
|
 |
sweet_dreams
Dołączył: 31 Maj 2005 Posty: 284 Skąd: Łódź
|
Wysłany: Czw Mar 22, 2012 10:12 pm Temat postu: |
|
|
Zależy jak wygląda ciąg znaków który chcesz podzielić. Poniżej przykład gdy w polu Osoba posiadasz imię i nazwisko oddzielone spacją.
| Kod: |  
 SELECT Left([Osoba],InStr(1,[Osoba]," ")-1) AS Imie
 , Mid([Osoba],(InStrRev([Osoba]," ")+1)) AS Nazwisko
 FROM tblOsoby;
 
|
|
|
| Powrót do góry |
|
 |
|