| 
 |||||||
| 
    Деление строки на части (например - деление полного имени на части) 
        
                  
        
		  Время создания: 16.03.2019 23:43		  
		 
		
		 		
		
		 		
		
				  
		    Раздел: Разные закладки - VBA - Access - msa.polarcom.ru - 13 Преобразование Строк		   
		
		
		 		 
		  Запись: xintrea/mytetra_db_adgaver_new/master/base/1532018137m5as6xpw8p/text.html на raw.githubusercontent.com		  
		 
		
				  
  | 
 |||||||
| 
    | 
 |||||||
   Деление строки на части (например - деление полного имени на части)Пример использования: Private Sub test() Dim str As String Dim v As Variant 
 str = "Сидоров Петр Иванович" v = "Пример работы функции cutStr():" v = v & vbCrLf & String(30, "-") v = v & vbCrLf & "Часть 2 = " & cutStr(str, 2) v = v & vbCrLf & "Часть 3 = " & cutStr(str, 3) v = v & vbCrLf & "Часть 8 = " If IsNull(cutStr(str, 8)) Then v = v & "Null" Else v = v & " ... " Debug.Print v End Sub Напишет: Public Function cutStr(val As Variant, intPosition As Integer, _ Optional strSeparator As String = " ") As Variant Dim v As Integer Dim i As Integer, x As Integer 'es 29.01.04 'Рубит строку переданную в аргументе: val на отдельные слова ' и возвращает слово стоящее в позиции указанной в intPosition ' ... или Null если в заданной позиции слова нет 'Аргумент: strSeparator = разделитель слов (по умолчанию=пробел " ") '---------------------------------------------------------------- On Error GoTo cutStrErr val = val & strSeparator x = 1 For i = 1 To intPosition v = InStr(x, val, strSeparator) If v = 0 Then cutStr = Null: Exit For If i = intPosition Then cutStr = Mid(val, x, v - x) Exit For Else x = CInt(v + 1) End If Next i 'На случай лишних пробелов cutStr = Trim(cutStr) If cutStr = "" Then cutStr = Null Exit Function cutStrErr: cutStr = "#Error!#" Err.clear End Function Второй вариант того же самого но с использованием функции Split() Public Function cutStrSplit(val As Variant, intPosition As Integer, _ Optional strSeparator As String = " ") As Variant Dim v() As String '---------------------------------------------------------------- On Error GoTo cutStrSplitErr If IsNull(val) Then cutStrSplit = Null: Exit Function v = Split(val, strSeparator, intPosition) cutStrSplit = v(intPosition - 1) 'На случай лишних пробелов cutStrSplit = Trim(cutStrSplit) If cutStrSplit = "" Then cutStrSplit = Null Exit Function cutStrSplitErr: cutStrSplit = "#Error!#" Err.clear End Function  | 
 |||||||
| 
    
 
 Так же в этом разделе:
  
  
  | 
 |||||||
      
   | 
 |||||||
   
   
  | 
 |||||||
   
  |