2016-01-31 1 views
-1

У меня есть эта запись в поле таблицы доступаРазбейте delimted поле доступа

93, 25, 114; 734; 4019

мне нужно разбить его на 5 столбцов

Я использовал это для получения первой части: Stars1: Left ([Stars], InStr ([Stars], ";") - 1)

Пожалуйста, помогите.

Thanks

+0

Я использовал это для извлечения первой части: Stars1: Left ([Stars], InStr ([Stars], ";") - 1) – user3526768

+1

положите это на свой вопрос –

+0

Что означает «одинарный»? –

ответ

0

Используйте функцию разделения.

Dim rst As DAO.Recordset 
Dim strSQL As String 
strSQL = "SELECT Stars FROM your_table where ..." ' your where clause 
Set rst = CurrentDb.OpenRecordset(strSQL) 
Dim TestArray() As String = Split(rst!Stars,";") 
'TestArray holds {"93","25","114","734","4019"} 
'TestArray(0) holds "93" 
+0

Эти значения находятся в поле в таблице доступа Stars – user3526768

+0

А! Теперь я понимаю. Я обновлю ответ. – MotownJoe

+0

Спасибо, что посмотрели ответ выше – user3526768

0

Public Function GetFullTextItem (_ ByVal strFullText As String, _ ByVal intItem As Integer) As String

On Error Resume Next GetFullTextItem = Split (strFullText, ";") (intItem)

End Function

--Star1: GetFullTextItem ([Stars], 0) и т.д.

1

Чтобы использовать Split() в запросе для легко обрабатывать ваши таблицы поле «Stars» вы можете создать новую функцию, которая принимает дополнительный параметр индекса и возвращает строку вместо Array():

Public Function SplitForQuery(s, Delimiter As String, i As Integer) 
    Dim x() As String 
    If Not IsNull(s) Then 
     x = Split(s, Delimiter) 
     SplitForQuery = x(i) 
    End If 
End Function 

Чтобы использовать что в запросе, вы должны сделать следующее:

SELECT SplitForQuery([Stars],";",0) AS Value1, 
    SplitForQuery([Stars],";",1) AS Value2, 
    SplitForQuery([Stars],";",2) AS Value3 
FROM Table1; 

вы можете добавить столько значения, сколько вам нужно, конечно, а также, если вам нужно вставить свои значения в другой таблице вы можете легко преобразовать этот запрос в заявление INSERT.

+0

Большое вам спасибо! – user3526768

Смежные вопросы