اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كود vba لانشاء جدول و حقل في جدول من نوع yes/no


hosslom

الردود الموصى بها

السلام عليكم اخوتي الكرام

محتاج مثال لكود vba لإنشاء جدول وتحديد نوع الحقول ( رقم - نص - تاريخ -) وخاصة الحقل من النوع yes/no

جزاكم الله كل خير

تم تعديل بواسطه hosslom
  • Like 1
رابط هذا التعليق
شارك

23 دقائق مضت, hosslom said:

السلام عليكم اخوتي الكرام

محتاج مثال لكود vba لإنشاء جدول وتحديد نوع الحقول ( رقم - نص - تاريخ -) وخاصة الحقل من النوع yes/no

جزاكم الله كل خير

 Dim db As dao.Database
    Dim tdf As dao.TableDef
    Dim fld As dao.Field
    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("tbl " & Text11)
    With tdf
    Set fld = .CreateField("ID", dbLong)
    fld.Attributes = dbAutoIncrField + dbFixedField
    .Fields.Append fld
    .Fields.Append .CreateField("No", DB_DOUBLE)
    .Fields.Append .CreateField("Inbox", dbText, 255)   

        .  .Fields.Append .CreateField("Data", dbDate)
End With
On Error GoTo x
db.TableDefs.Append tdf
Set fld = Nothing
Set tdf = Nothing
Application.RefreshDatabaseWindow
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
x:

رابط هذا التعليق
شارك

26 دقائق مضت, hosslom said:

السلام عليكم اخوتي الكرام

محتاج مثال لكود vba لإنشاء جدول وتحديد نوع الحقول ( رقم - نص - تاريخ -) وخاصة الحقل من النوع yes/no

جزاكم الله كل خير

 

تفضل <<<<<<<<<>>>>>>>>>

Dim strSQL1 As String
strSQL1 = "CREATE TABLE [kanory] ([ProductID] AUTOINCREMENT,[ProductName] TEXT(40)  NOT NULL,[SupplierID] LONG,[BirthDate] DATETIME,[CategoryID] LONG,[QuantityPerUnit] TEXT(20),[UnitPrice] CURRENCY,[UnitsInStock] SMALLINT,[UnitsOnOrder] SMALLINT,[ReorderLevel] SMALLINT,[Discontinued] BIT NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ProductID]));"
DoCmd.RunSQL strSQL1

 

اسف اخي الكريم @عبد اللطيف سلوم يبدو ان المشاركيتن في في الوقت .... لكن الطريقتين مختلفتين للفائدة .....

  • Like 3
رابط هذا التعليق
شارك

3 دقائق مضت, عبد اللطيف سلوم said:

 Dim db As dao.Database
    Dim tdf As dao.TableDef
    Dim fld As dao.Field
    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("tbl " & Text11)
    With tdf
    Set fld = .CreateField("ID", dbLong)
    fld.Attributes = dbAutoIncrField + dbFixedField
    .Fields.Append fld
    .Fields.Append .CreateField("No", DB_DOUBLE)
    .Fields.Append .CreateField("Inbox", dbText, 255)   

        .  .Fields.Append .CreateField("Data", dbDate)
End With
On Error GoTo x
db.TableDefs.Append tdf
Set fld = Nothing
Set tdf = Nothing
Application.RefreshDatabaseWindow
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
x:

لطفا احذف النقطة المشار اليها بسهم احمر 

2021-10-06_231856.png

رابط هذا التعليق
شارك

3 دقائق مضت, عبد اللطيف سلوم said:

Dim db As dao.Database
    Dim tdf As dao.TableDef
    Dim fld As dao.Field
    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("tbl " & Text11)
    With tdf
    Set fld = .CreateField("ID", dbLong)
    fld.Attributes = dbAutoIncrField + dbFixedField
    .Fields.Append fld
    .Fields.Append .CreateField("No", DB_DOUBLE)
    .Fields.Append .CreateField("Inbox", dbText, 255)   

        .  .Fields.Append .CreateField("Data", dbDate)
End With
On Error GoTo x
db.TableDefs.Append tdf
Set fld = Nothing
Set tdf = Nothing
Application.RefreshDatabaseWindow
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
x:

جزاك الله كل خير اخي الكريم

ولكن ماذا عن الحقل Yes/no

رابط هذا التعليق
شارك

4 دقائق مضت, kanory said:

اسف اخي الكريم @عبد اللطيف سلوم يبدو ان المشاركيتن في في الوقت .... لكن الطريقتين مختلفتين للفائدة .....

كل المحبة والاحترام 

منكم نستفيد صديقي

  • Thanks 1
رابط هذا التعليق
شارك

5 دقائق مضت, kanory said:
Dim strSQL1 As String
strSQL1 = "CREATE TABLE [kanory] ([ProductID] AUTOINCREMENT,[ProductName] TEXT(40)  NOT NULL,[SupplierID] LONG,[BirthDate] DATETIME,[CategoryID] LONG,[QuantityPerUnit] TEXT(20),[UnitPrice] CURRENCY,[UnitsInStock] SMALLINT,[UnitsOnOrder] SMALLINT,[ReorderLevel] SMALLINT,[Discontinued] BIT NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ProductID]));"
DoCmd.RunSQL strSQL1

جزاك الله كل خير اخي الكريم

وماذا عن الحقل من النوع yes/no

رابط هذا التعليق
شارك

1 دقيقه مضت, hosslom said:

جزاك الله كل خير اخي الكريم

وماذا عن الحقل من النوع yes/no

يا اخي هل طبقك الكود قبل السؤال .... وفتحت على خصائص الجدول ..... ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

1.png

  • Like 2
رابط هذا التعليق
شارك

14 دقائق مضت, hosslom said:

جزاك الله كل خير اخي الكريم

ولكن ماذا عن الحقل Yes/no

  dim strSQL as string
      strSQL = "CREATE TABLE tblStatus ( " & _
                "fldCheck yesno )"

تم تعديل بواسطه عبد اللطيف سلوم
اضافة تفصيلات
رابط هذا التعليق
شارك

17 دقائق مضت, kanory said:
Dim strSQL1 As String
strSQL1 = "CREATE TABLE [kanory] ([ProductID] AUTOINCREMENT,[ProductName] TEXT(40)  NOT NULL,[SupplierID] LONG,[BirthDate] DATETIME,[CategoryID] LONG,[QuantityPerUnit] TEXT(20),[UnitPrice] CURRENCY,[UnitsInStock] SMALLINT,[UnitsOnOrder] SMALLINT,[ReorderLevel] SMALLINT,[Discontinued] BIT NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ProductID]));"
DoCmd.RunSQL strSQL1

عزرا احي الكريم

عند تنفيذ الكود يعطي الخطا

Capture.JPG

رابط هذا التعليق
شارك

51 دقائق مضت, hosslom said:

السلام عليكم اخوتي الكرام

محتاج مثال لكود vba لإنشاء جدول وتحديد نوع الحقول ( رقم - نص - تاريخ -) وخاصة الحقل من النوع yes/no

جزاكم الله كل خير

ملف العمل مع تطبيق الكود

creat table.accdb

رابط هذا التعليق
شارك

16 دقائق مضت, hosslom said:
Dim strSQL1 As String
strSQL1 = "CREATE TABLE [kanory] ([ProductID] AUTOINCREMENT,[ProductName] TEXT(40)  NOT NULL,[SupplierID] LONG,[BirthDate] DATETIME,[CategoryID] LONG,[QuantityPerUnit] TEXT(20),[UnitPrice] CURRENCY,[UnitsInStock] SMALLINT,[UnitsOnOrder] SMALLINT,[ReorderLevel] SMALLINT,[Discontinued] BIT NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ProductID]));"
DoCmd.RunSQL strSQL1

اشتغل الكود جزاك الله كل خير اخي الكريم

اطمع في استفسار اخر ماذا اذا اردت استخدام الامر لعمل الجدول في قاعده خارجية وليست الحاليه

وايضا استخدام ALTER لاستبدال نوع الحقل باخر ممكن الصيغه واسف للإطاله

جزاك الله كل خير

 

11 دقائق مضت, عبد اللطيف سلوم said:

ملف العمل مع تطبيق الكود

شكرا جزيلا اخي الكريم وجعله الله في ميزان حساناتك ان شاء الله

 

تم تعديل بواسطه hosslom
رابط هذا التعليق
شارك

في ٦‏/١٠‏/٢٠٢١ at 23:50, hosslom said:

اشتغل الكود جزاك الله كل خير اخي الكريم

اطمع في استفسار اخر ماذا اذا اردت استخدام الامر لعمل الجدول في قاعده خارجية وليست الحاليه

وايضا استخدام ALTER لاستبدال نوع الحقل باخر ممكن الصيغه واسف للإطاله

جزاك الله كل خير

 

لاضافة جدول في قاعدة خارجية استخدم الاتي <<<<<<<>>>>>>>>

Dim msgstyle
Dim strSQL1 As String
Dim b As New Access.Application
Set b = CreateObject("Access.Application")
b.OpenCurrentDatabase (Me.txtPath)
strSQL1 = "CREATE TABLE [kanory] ([ProductID] AUTOINCREMENT,[ProductName] TEXT(40)  NOT NULL,[SupplierID] LONG,[BirthDate] DATETIME,[CategoryID] LONG,[QuantityPerUnit] TEXT(20),[UnitPrice] CURRENCY,[UnitsInStock] SMALLINT,[UnitsOnOrder] SMALLINT,[ReorderLevel] SMALLINT,[Discontinued] BIT NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ProductID]));"
b.DoCmd.RunSQL strSQL1
MsgBox Space(20) & "تم انشاء الجدول Kanory بنجاح.." & Space(20), msgstyle, "للمعلومية"
 Set b = Nothing

 

اما لتعديل خصائص حقل موجود في الجدول استخدم التالي مع ملاحظة : ان اختلاف البيانات قي الحقل اذا كانت هنا بيانات ممكن تفقدها :::: <<<<<>>>>>>>

 

Dim msgstyle
Dim b As DAO.Database
Dim strFieldName As String
Set b = DBEngine.OpenDatabase(Me.txtPath)
With b.TableDefs("Kanory").Fields("S_Name")
        .Properties.Append .CreateProperty("DisplayControl", dbInteger, AcControlType.acComboBox)
        .Properties.Refresh
End With
MsgBox Space(20) & "تم انشاء الجدول Kanory بنجاح.." & Space(20), msgstyle, "للمعلومية"
b.Close
Set b = Nothing

 

  • Like 4
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information