|
|
|
| Привет всем!!! Если я создаю таблицу "Tab", забиваю ее значениями...... как мне программно при помощи MS ACCESS (vb) проверить всю таблицу на пустые ячейки?!? Мне надо найти пустые ячейки и удалить их, то есть с соседних ячеек брать данные и перемещать в пустые....Чем то напоминает пузырьковую сортировку.... НА паскале не проблема так сделать, а тут не могу найти описание....
Я думаю, что надо данные из таблицы перенести во временный массив и проверять. Не знаю как в Vb это правильно сделать.....подскажите плс......!!!!!!! | |
|
| |
|
|
|
| 1. Если надо удалить записи - запрос на удаление
2. Если надо обновить записи - запрос на обновление
3. Если с данными в таблице ничего делать не надо, а нужно получить их в массив и работать с массивом - метод GetRows объекта Recordset. | |
|
| |
|
|
|
| v = CurrentDB.OpenRecordset("Tab").GetRows
Так вы получите двухмерный массив (столбцы, строки). | |
|
| |
|
|
|
| Вопрос конечно не в тему
но есть ли метод обратный GetRows, т.е. массив запихнуть в рекордсет
(циклом я смогу - а вот что бы одним махом, то тут в моих познаниях пробел)
заранее спасибо | |
|
| |
|
|
|
| Я, в свое время, не нашел такого метода. | |
|
| |
|
|
|
| Вообще задача стоит очень интересная.... допустим таблица из трех строк. Надо каждую строку таблицы отдельно проверить на пробелы, если таковы имеются, то надо их выдавить с лева на право, чтобы в строке между значениями не было пробелов..... короче буду разбираться.... | |
|
| |
|
|
|
| Update TableName Set FieldName=Replace(FieldName & "", " ", "") | |
|
| |
|
|
|
| Чет не че не происходит...... | |
|
| |
|
|
|
| может так
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Таблица1")
rs.MoveLast
rs.MoveFirst
For i = 1 To rs.RecordCount
For j = 0 To rs.Fields.Count - 1
If (Nz(rs.Fields(j), 0) = 0 Or rs.Fields(j) = " ") And j + 1 <= rs.Fields.Count - 1 Then
For k = j + 1 To rs.Fields.Count - 1
If Nz(rs.Fields(k), 0) = 0 Or rs.Fields(k) = " " Then
Else
rs.Edit
rs.Fields(j) = rs.Fields(k)
rs.Fields(k) = Null
rs.Update
Exit For
End If
Next k
End If
Next j
rs.MoveNext
Next i
Set rs = Nothing
|
| |
|
| |
|
|
|
| snipe Спасибо тебе ОгрОМНОЕ!!!!!!!!!!!!!!!!!! Все работает как надо!!!! Код сам по себе не сложный, но после делфи пока переедешь на VB.... )). Еще раз спасибо!!!!! | |
|
| |