PDA

View Full Version : سوال: آیا امکان import اتوماتیک همزمان نام فیلد discretion وcaption به اکسس وجود دارد؟



narpco
دوشنبه 31 شهریور 1399, 16:33 عصر
سلام بر دوستان
همانطور که میدانید یکی از وقت گیر ترین کارهای برنامه نویسی تولید جداول هست
نام فیلد - توضیحات discretion - و نام فارسی فیلد caption جهت اینکه وقتی فرم میسازیم لیبل تکست باکس ها فارسی باشه
فرض کنید در یک فایل اکسل جدول رو ساختیم و آماده انتقال به داخل اکسس هست
نام فیلد - توضیحات discretion - و نام فارسی فیلد caption در فایل اکسل ما موجود است
و همه میدونیم که مراحل وارد کردن به چه صورت هست

حالا سئوال:
آیا امکان این هست که با حالتی خاص یا کد نویسی یا هر روش دیگری که به نظر شما میرسد کاری کنیم که وقتی فایل اکسل به داخل اکسس ایمپورت میشود همزمان // توضیحات discretion - و نام فارسی فیلد caption//// نیر به جدول اضافه شود ؟

یا هر روش دیگه ای که به نظرتون میاد

هدف اینکه یک بار تو اکسل (یا هر محیط دیگه ای که به نظر شما میرسه ) نوشتیم همون ایمپورت بشه دیگه دوباره کاری نکنیم
یا برنامه موقتی بنویسیم که این کار و انجام بده ...

با سپاس


http://s14.picofile.com/file/8408950618/rrrrrrrrrrrrrrrrrrrrrrrrrr.png

narpco
دوشنبه 31 شهریور 1399, 18:09 عصر
و یا اینکه یک برنامه واسطه اینکار رو انجام بده میخوام بدونم دوستان تا حالا به همچین چیزی برخورد کردن و ایا شدنی هست ؟

padide55
سه شنبه 01 مهر 1399, 08:31 صبح
و یا اینکه یک برنامه واسطه اینکار رو انجام بده میخوام بدونم دوستان تا حالا به همچین چیزی برخورد کردن و ایا شدنی هست ؟


سلام . من این مشکل رو به این صورت حل میکنم .
اول ایمپورت اکسل انجام میدم به اکسس ولی از اون اکسل استفاده نمیکنم .
اکسل وارد شده به اکسس رو بدون در نظرگرفتن نام فیلد و فقط به صورت پیش فرض لود میکنم .در این صورت اسم فیلدها F1,F2,F3 ,... در میاد.
یه جدول درست میکنم در اکسس با تمام مشخصات و اسامی فیلدها و کپشنهایی که از اکسل مد نظر بوده .
نهایتا الان یه جدول اکسل داریم که با یک کوئری اطلاعاتش رو به تیبل اکسس Append میکنم و با اون کار میکنم .
هر موقع فایل اکسل داده هاش عوض بشه میتونم با اجرای کوئری اون اطلاعات رو به تیبل خودم در اکسس اضافه کنم .

narpco
سه شنبه 01 مهر 1399, 08:56 صبح
سلام دوست گرامی

ممنون از پاسخ شما اگر درست متوجه شده باشم شما میفرمایید یک فایل اکسل داریم و باید یک جدول اکسس هم با نام فیلد انگلیسی و کپشن ها معادل همون فایل اکسل بسازیم
بعد اطلاعات داخل جدول اکسل رو با append وارد جدول اکسس کنیم ....درست فهمیدم ؟!


سئوال بنده اصلا در مورد اطلاعات نیست و چگونگی انتقال رکوردهای داخل جدول اکسل به اکسس

دقیقا همه چیز به بحث ساخت اولیه جدول برمیگرده

فرض کنید در اکسل ما یک جدول میسازیم یک ستون نام انگلیسی فیلد ها یک ستون نام فارسی آن ها که میخواهیم بعنوان نام فارسی تکست باکس ها در فرم نمایش داده بشه

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

لطفا عکس رو ببنید تو لینک زیر میخواهیم این دوآیتم باهم همزمان وارد جدول بشن هی دوباره تایپ نکنیم --fild name و caption باهم وارد بشن ..از مبدا فایل اکسلی که قبلا ساختیم .....یا هر محیط دیگه ای ...من فقط دارم هرچی به ذهنم میاد مینویسم

خیلی خودم اطلاع ندارم که اصلا شدنی هست یانه ...

http://s14.picofile.com/file/8408950618/rrrrrrrrrrrrrrrrrrrrrrrrrr.png

ممنونم

narpco
سه شنبه 01 مهر 1399, 09:16 صبح
یک نمونه فایل اکسل پست می کنم شاید در توضیح بیشتر کمک کنه

http://s15.picofile.com/file/8408951434/import.xlsx.html

padide55
سه شنبه 01 مهر 1399, 09:55 صبح
متوجه شدم . میخواهید در اکسل بگید چه جدولی میخواید . اکسس درستش کنه.

کد نویسی ضعیف هستم . دوستان کمک کنند

padide55
سه شنبه 01 مهر 1399, 10:55 صبح
متوجه شدم . میخواهید در اکسل بگید چه جدولی میخواید . اکسس درستش کنه.

کد نویسی ضعیف هستم . دوستان کمک کنند

نمونه کد ایجاد فیلد در اکسس
این کدها رو براتون پیدا کردم
ببینید بجای نام فیلد از مسیر مورد نظر فیلد ایجاد کنید یا نه.
برای کپشن باید کدش رو پیدا کنم .


برای اجرای دستورات DDL مربوط به SQL میتوان از کد نویسی VBA در برنامه Microsoft Access استفاده نمود.


نام تابع

شرح



CreateTableDDL() (http://www.a00b.com/Nw/create_table_in_Access.htm#CreateTableDDL)
ایجاد جدول



CreateFieldDDL() (http://www.a00b.com/Nw/create_table_in_Access.htm#CreateFieldDDL)
ایجاد فیلد در جدول



CreateFieldDDL2() (http://www.a00b.com/Nw/create_table_in_Access.htm#CreateFieldDDL2)
ایجاد فیلد در جدول در دیتابیسی دیگر


CreateViewDDL() (http://www.a00b.com/Nw/create_table_in_Access.htm#CreateViewDDL)
ایجاد کوئری


DropFieldDDL() (http://www.a00b.com/Nw/create_table_in_Access.htm#DropFieldDDL)
حذف فیلد در جدول


ModifyFieldDDL() (http://www.a00b.com/Nw/create_table_in_Access.htm#ModifyFieldDDL)
ویرایش فیلد از نظر سایز ، نوع و . . .


AdjustAutoNum() (http://www.a00b.com/Nw/create_table_in_Access.htm#AdjustAutoNum)
ویرایش فیلد اتونامبر


DefaultZLS() (http://www.a00b.com/Nw/create_table_in_Access.htm#DefaultZLS)
ایجاد فیلد از نوع رشته با مقدار سایز پیشفرض صفر



Option Compare Database

Option Explicit

Sub CreateTableDDL()

'Purpose: Create two tables, their indexes and relation using DDL.

Dim cmd As New ADODB.Command

Dim strSql As String

'Initialize

cmd.ActiveConnection = CurrentProject.Connection

'Create the Contractor table.

strSql = "CREATE TABLE tblDdlContractor " & _

"(ContractorID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _

"Surname TEXT(30) WITH COMP NOT NULL, " & _

"FirstName TEXT(20) WITH COMP, " & _

"Inactive YESNO, " & _

"HourlyFee CURRENCY DEFAULT 0, " & _

"PenaltyRate DOUBLE, " & _

"BirthDate DATE, " & _

"EnteredOn DATE DEFAULT Now(), " & _

"Notes MEMO, " & _

"CONSTRAINT FullName UNIQUE (Surname, FirstName));"

cmd.CommandText = strSql

cmd.Execute

Debug.Print "tblDdlContractor created."

'Create the Booking table.

strSql = "CREATE TABLE tblDdlBooking " & _

"(BookingID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, " & _

"BookingDate DATE CONSTRAINT BookingDate UNIQUE, " & _

"ContractorID LONG REFERENCES tblDdlContractor (ContractorID) " & _

"ON DELETE SET NULL, " & _

"BookingFee CURRENCY, " & _

"BookingNote TEXT (255) WITH COMP NOT NULL);"

cmd.CommandText = strSql

cmd.Execute

Debug.Print "tblDdlBooking created."

End Sub

Sub CreateFieldDDL()

'Purpose: Illustrates how to add a field to a table using DDL.

Dim strSql As String

Dim db As DAO.Database

Set db = CurrentDb()

strSql = "ALTER TABLE MyTable ADD COLUMN MyNewTextField TEXT (5);"

db.Execute strSql, dbFailOnError

Set db = Nothing

Debug.Print "MyNewTextField added to MyTable"

End Sub

Function CreateFieldDDL2()

'Purpose: Add a field to a table in another database using DDL.

Dim strSql As String

Dim db As DAO.Database

Set db = CurrentDb()

strSql = "ALTER TABLE Table IN 'C:\Data\junk.mdb' ADD COLUMN MyNewField TEXT (5);"

db.Execute strSql, dbFailOnError

Set db = Nothing

Debug.Print "MyNewField added"

End Function

Function CreateViewDDL()

'Purpose: Create a new query using DDL.

Dim strSql As String

strSql = "CREATE VIEW qry1 as SELECT tblInvoice.* from tblInvoice;"

CurrentProject.Connection.Execute strSql

End Function

Sub DropFieldDDL()

'Purpose: Delete a field from a table using DDL.

Dim strSql As String

strSql = "ALTER TABLE [MyTable] DROP COLUMN [DeleteMe];"

DBEngine(0)(0).Execute strSql, dbFailOnError

End Sub

Sub ModifyFieldDDL()

'Purpose: Change the type or size of a field using DDL.

Dim strSql As String

strSql = "ALTER TABLE MyTable ALTER COLUMN MyText2Change TEXT(100);"


DBEngine(0)(0).Execute strSql, dbFailOnError

End Sub

Function AdjustAutoNum()

'Purpose: Set the Seed of an AutoNum using DDL.

Dim strSql As String

strSql = "ALTER TABLE MyTable ALTER COLUMN ID COUNTER (1000,1);"

CurrentProject.Connection.Execute strSql

End Function

Function DefaultZLS()

'Purpose: Create a field that defaults to a zero-length string using DDL.

Dim strSql As String

strSql = "ALTER TABLE MyTable ADD COLUMN MyZLSfield TEXT (100) DEFAULT """";"

CurrentProject.Connection.Execute strSql

End Function

narpco
سه شنبه 01 مهر 1399, 11:19 صبح
متوجه شدم . میخواهید در اکسل بگید چه جدولی میخواید . اکسس درستش کنه.

کد نویسی ضعیف هستم . دوستان کمک کنند




افرین همینه .......منتها از قرار معلوم نباید توقع زیادی از اکسس داشته باشیم که صبح ها نون هم بره بگیره :))))چ


دم شما گرم عزیز زحمت کشیدی