Я думаю, что когда вы определяете String
, вы определяете объект. Поэтому вам нужно использовать .equals()
. Когда вы используете примитивные типы данных, вы используете ==
, но с String
(и любым объектом) вы должны использовать .equals()
.
Я не знаю, какая последовательность и идентификация для моего программирования означает, что это быстрый и грязный способ добавить числовую последовательность в записи в вашей таблице. Каждые две записи, соответствующие критериям, имеют текущее значение cntr
, добавленное к нему как трехзначное число.
Это будет касаться только XX-033inRF6005
, поскольку вы не сказали, что хотите сделать с другими номерами - перезапустите номер, проигнорируйте их, продолжайте, как если бы они были одинаковыми.
Имя вашей таблицы и поля потребуется обновить в коде ниже.
Public Sub AddNumbering()
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Dim cntr As Long
Set qdf = CurrentDb.CreateQueryDef("", _
"SELECT Field_1 FROM Table1 WHERE Field_1 = 'XX-033inRF6005'")
Set rst = qdf.OpenRecordset
cntr = 1
With rst
If Not (.BOF And .EOF) Then
.MoveFirst
Do While Not .EOF
.Edit
'Format(cntr,"000") ensures the number is 3 digits long - 001, 002, etc.
!Field_1 = !Field_1 & Format(cntr, "000")
.Update
.MoveNext
If Not .EOF Then
.Edit
!Field_1 = !Field_1 & Format(cntr, "000")
.Update
.MoveNext
End If
cntr = cntr + 1
Loop
End If
.Close
qdf.Close
End With
Set rst = Nothing
Set qdf = Nothing
End Sub
не знают много о доступе, но основы для этого должны быть
for i = 2 to 2 * LastSequencenumber
x(i) = "XX-033inRF6005" & format(int(i/2),"000")
next i
Конечно, вы можете как-то прочитать значения из своей таблицы, но я не знаю, как это сделать при доступе
XX-033inRF6005012
является последним, то это 12. Я просто показал, как объединить число в нужном формате. Вам нужно выяснить, как далеко он должен рассчитывать и вводить его.
– OverflowStacker
13 July 2018 в 12:05