PDA

View Full Version : سوال: اصلاح مقادیر فیلدهای جدول



Rasool-GH
چهارشنبه 09 آذر 1390, 21:04 عصر
سلام

این تاپیک را ایجاد کردم که بحث ها از هم تفکیک بشه

اقای امیری لطف کنین بگین که در یک جدول که با اطلاعات پر شده و حالا نیاز به جایگزین کردن یک سری مقادیر داخل اون داریم به چه شکل باید عمل کرد

به طور مثال مقادیر Null رو با 0 جایگزین کنیم یا تمام حروف (( ی با ي )) یا یک عبارت خاص با هر چیز دلخواه دیگه
امیدوارم درست بیان کرده باشم

somayeh_a269
چهارشنبه 09 آذر 1390, 22:20 عصر
با سلام
میتونید برای جایگزینی 0به جای nullازدستورزیراستفاده کنید:
(iif(isNull(rec!a1),0,rec!a1
recنام جدول و a1نام فیلدجدولتونه. میتونید این مقدارروتویه متغیربریزیدوبادستورrec.editفی لدa1رو تغییربدین.درانتهاهم دستورrec.updateروبنویسید.
موفق باشید.

Abbas Amiri
چهارشنبه 09 آذر 1390, 23:31 عصر
البته باید فقط مقادیر فیلدهای عددی که نول هستند صفر شوند ونه همه فیلدها. چنانچه همان جدول که در تاپیک قبلی بود منظورتان است با روش بالا بسیار وقت گیراست به همین جهت می توانید باکمی تغییر در روال MakeZeroNullValues به مقصودتان برسید


Sub ReplaceString(TableName As String, OldVal As String, NewVal As String, Optional Criteria As String = "(1)")
Dim rs As Recordset
Dim sSQL As String
Dim fld As Field, k As Integer
Set rs = CurrentDb.OpenRecordset(TableName)
For k = 1 To rs.Fields.Count - 1
Set fld = rs.Fields(k)
If fld.Type = dbText Or fld.Type = dbMemo Then
sSQL = sSQL & fld.Name & " = Replace(" & fld.Name & ", '" & OldVal & "', '" & NewVal & "'), "
End If
Next
sSQL = "UPDATE " & TableName & " SET " & Left(sSQL, Len(sSQL) - 2) & " WHERE " & Criteria
CurrentDb.Execute sSQL
End Sub