ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
شکل نوشتاری بدین صورت است :
Insert Into TableName ( Fields ,,,n) Values (Number,'Text')
داخل Values نمی توان از Select Query استفاده کرد
همانطور که اشاره شد بعد از insert into نام جدول درج میگردد حتما Space رعایت شود بعد داخل پرانتز نام فیلدهای جدول قید میگردد اگر چند فیلد باشد با جداکننده -> , از هم جدا می شوند و بعد Values تایپ شده و داخل آن مقادیر هر فیلد قید میگردد اگر عددی نباشد مثل متن باید داخل تک کوتیشن قرار گیرد مثل 'Ali' یا 'S12334' یا '1234 ' ( درسته که عددی می بینید ولی به Space قبل از 1234 توجه کنید - پس متنی است ) وگرنه خطای نوشتاری بوقوع خواهد پیوست. فیلد با تایپ Date مقدارش بین دو نردبان یا # قرار می گیرد. فیلد با دیتاتایپ MultiValued یا Attachmant را در این عبارات بکار نبرید ( در صورت اضافه کردن به این فیلدها با دیتاتایپ یاد شده با خطا مواجه خواهید شد ) چون باید Parent آنها در حال ویرایش درآید و بعد آنها را Manipulate یا دستکاری کرد ( مثل حذف ، برداشتن تیک ، اضافه کردن ) . رکوردستی که در حالت Edit تنظیم شده و هیچ رکوردی ندارد باعث ایجاد خطای No Current Record می شود پس سعی نکنید در رکوردستی که رکوردی ندارد ویرایش انجام دهید در همین مطالب Run time error را جستجو کنید کامل درباره خطاهای مرسوم توضیح داده شده.
مثال درباره کوئری Append با استفاده از عبارت Sql به نام Insert Into :
زمان اضافه کردن رکوردی به جدول 1 ، Desc جدول 2 با توجه به PartNo در جدول 2 با inner join گرفته شده و در فیلد Desc جدول 1 درج میگردد سعی کنید قبل از اضافه کردن به جدول PartNo چک شود که در جدول 2 باشد یا کمبوباکس تعبیه کنید که PatNo ها لیست شود و اگر انتخاب نشد خطا بدهد که برای اجرای کوئری اپند کمبو باکس Null نمی گیرد. ( در کمبو باکس خاصیت limit to list را برای Yes قرار بدهید ضمنا Event یا رویدادی وجود دارد ( NotInlist ) می توانید خطای انگلیسی " در لیست وجود ندارد" را به پیام خودتان تغییر دهید.در ضمن ویژگی List Edits را تنظیم کنید که نشود به کمبود باکس اضافه کرد یا آنرا ویرایش کرد .
Table1 :
ID PartNo Desc
201 3020 Filter
202 3020 Filter
203 3021 Booster
Table 2 :
PartNo Desc
3020 Filter
3021 Booster
strSql="Insert Into Table1 (ID,PartNo,Desc)" & _
"Values (" & Me.ID & "," & Me.PartNo & ",'" & _
Dlookup("Desc","Table2","PartNo=" & Me.PartNo) & "')"
چون نمی توان در Values از Select Query استفاده کرد لذا از Dlookup برای گرفتن Desc از جدول 2 استفاده شد.
Docmd.RunSql strSQL
کد اس کیو ال زیر کل جدول New Customers را به جدول Customers اپند می کند
Insert Into Customers Select * From New Customers
اپند کردن داده های ستون 1 و .... با شرط به ستون های 1 و .... جدول با نام Table2
برای عدم نمایش پیغام ها مبنی بر اضافه کردن به جدول یا از این کار مطمئنید از دستورات اکشن کوئری مثل SetWarnings استفاده کنید و آنرا خاموش یا Off کنید یا به False تنظیم کنید.
مطالب با توجه به جستجوی عبارات قرار داده خواهد شد
در تصویر زیر پراپرتی شیت کمبو باکس تب دیتا نمایش داده شده که RowSource تایپی است گزینه های خودتون و از جدول گرفته نشده و در این موارد RowSourceType باید Value List انتخاب شود وگرنه با خطا مواجه می شوید ویژگی limit to list نیز روی No تنظیم شده پس خطای NotInList ندارید و List Edits نیز روی No است که نمی توانید مقادیر لیست باکس کمبو باکس را ویرایش کنید .
لطفا نظر سنجی فراموش نشود