|
|
|
| Добрый день подскажите как программно удалить записи если строка не пустая (там уже есть запись)
Public Sub s1()
Dim bd As Database, tab1 As Recordset
Dim str As String
Dim strSQL As String
Set bd = DBEngine.Workspaces(0).Databases(0)
Set tab1 = bd.OpenRecordset("betaПриход")
Do Until tab1.EOF
tab1.Edit
If Not IsNull(tab1!comment) Then
strSQL = "DELETE [tab1].comment from [tab1]"
End If
tab1.MoveNext
Loop
End Sub
|
пробовал вместо strSQL = "DELETE [tab1].comment from [tab1]" так
strSQL = "DELETE [betaПриход].comment from [betaПриход]" | |
|
| |
|
|
|
| dbs.Execute ("delete * from tabla where NZ(НАШЕ_ПОЛЕ,0)<>0")
на фиг удалит с табыл все записи где НАШЕ_ПОЛЕ не пустое
тип того,
а вообще в Вашем коде нет оператора который бы делел что нибудь с базой (таблой)
strSQL = "DELETE [tab1].comment from [tab1]"
|
это просто присвоили строковой переменной значение а где мы его используем непонятно
п.с. да и ваще как-то не понятен код.
tab1.Edit - зачем-то перевели запись текущубю в режим редактирования
If Not IsNull(tab1!comment) Then - сравнили на ниль поле комент
strSQL = "DELETE [tab1].comment from [tab1]" - присвоили переменной строку
End If - конец сравнения
tab1.MoveNext - перешли на новую запись
|
это все о чем | |
|
| |
|
|
|
| ситуация такова что есть таблица там несколько полей в том числе и поле comment нужно что бы если в поле comment есть какие то записи их нужно удалить | |
|
| |
|
|
|
| Вот что пишет хелп по поводу вашей SQL строки:
Запрос на удаление удаляет записи целиком, а не только содержимое указанных полей. Чтобы удалить данные в конкретном поле, следует создать запрос на обновление, который заменяет имеющиеся значения на значения Null.
|
нужно понимать что делаем если удалить только кометны то нужно запрос на обновление
если ВСЮ запись то хавтит за глаза вот такого
strSQL = "DELETE * from betaПриход where Not IsNull(tab1!comment) =true"
currentdb.Execute (strSQL)
только проверить условия удаления. | |
|
| |
|
53 Кб. |
|
| да нужно удалить только comment что бы значения были null то уже запарился посмотрите плиз | |
|
| |
|
|
|
|
currentdb.execute "delete from tab1 where nz(comment,'') <> ''"
|
| |
|
| |
|
|
53 Кб. |
|
| да нужно удалить только comment что бы значения были null то уже запарился посмотрите плиз | |
|
| |
|
9 Кб. |
|
| вот там и запросом и кодом | |
|
| |
|
|
|
| Спасибо большое | |
|
| |
|
|
|
| замечание по ходу - зачем проверять есть в поле информация или нет если его нужно обнулить???
вот если б обнулить только то что начинаестя с "А*" или содержит "*12345*" - то тогда да, а так это не нужное действо. | |
|
| |