Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массивы
 
 автор: SuperSem   (16.09.2010 в 21:47)   личное сообщение
 
 

Привет всем!!! Если я создаю таблицу "Tab", забиваю ее значениями...... как мне программно при помощи MS ACCESS (vb) проверить всю таблицу на пустые ячейки?!? Мне надо найти пустые ячейки и удалить их, то есть с соседних ячеек брать данные и перемещать в пустые....Чем то напоминает пузырьковую сортировку.... НА паскале не проблема так сделать, а тут не могу найти описание....
Я думаю, что надо данные из таблицы перенести во временный массив и проверять. Не знаю как в Vb это правильно сделать.....подскажите плс......!!!!!!!

  Ответить  
 
 автор: Lukas   (16.09.2010 в 21:53)   личное сообщение
 
 

1. Если надо удалить записи - запрос на удаление
2. Если надо обновить записи - запрос на обновление
3. Если с данными в таблице ничего делать не надо, а нужно получить их в массив и работать с массивом - метод GetRows объекта Recordset.

  Ответить  
 
 автор: Анатолий (Киев)   (17.09.2010 в 10:55)   личное сообщение
 
 

v = CurrentDB.OpenRecordset("Tab").GetRows

Так вы получите двухмерный массив (столбцы, строки).

  Ответить  
 
 автор: snipe   (17.09.2010 в 11:11)   личное сообщение
 
 

Вопрос конечно не в тему
но есть ли метод обратный GetRows, т.е. массив запихнуть в рекордсет
(циклом я смогу - а вот что бы одним махом, то тут в моих познаниях пробел)
заранее спасибо

  Ответить  
 
 автор: Lukas   (17.09.2010 в 13:07)   личное сообщение
 
 

Я, в свое время, не нашел такого метода.

  Ответить  
 
 автор: SuperSem   (17.09.2010 в 14:12)   личное сообщение
 
 

Вообще задача стоит очень интересная.... допустим таблица из трех строк. Надо каждую строку таблицы отдельно проверить на пробелы, если таковы имеются, то надо их выдавить с лева на право, чтобы в строке между значениями не было пробелов..... короче буду разбираться....

  Ответить  
 
 автор: Lukas   (17.09.2010 в 14:17)   личное сообщение
 
 

Update TableName Set FieldName=Replace(FieldName & "", " ", "")

  Ответить  
 
 автор: SuperSem   (17.09.2010 в 20:30)   личное сообщение
 
 

Чет не че не происходит......

  Ответить  
 
 автор: snipe   (18.09.2010 в 05:32)   личное сообщение
 
 

может так

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

  Ответить  
 
 автор: SuperSem   (18.09.2010 в 20:39)   личное сообщение
 
 

snipe Спасибо тебе ОгрОМНОЕ!!!!!!!!!!!!!!!!!! Все работает как надо!!!! Код сам по себе не сложный, но после делфи пока переедешь на VB.... )). Еще раз спасибо!!!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList