تغيير نوع البيانات عند استيراد ملف Excel إلى Access

StackOverflow https://stackoverflow.com/questions/122422

  •  02-07-2019
  •  | 
  •  

سؤال

هل هناك أي طريقة لتغيير نوع البيانات الافتراضي عند استيراد ملف Excel إلى الوصول ؟ (أنا باستخدام Access 2003 بالمناسبة).

وأنا أعلم أنني في بعض الأحيان لديهم الحرية في تعيين أي نوع بيانات كل عمود يتم استيرادها ، ولكن هذا يمكن أن يكون فقط عندما أكون المستوردة غير ملفات Excel.

تحرير: أن تكون واضحة, أنا أفهم أن هناك خطوة في عملية الاستيراد حيث يسمح لك لتغيير نوع البيانات المستوردة العمود.

في الواقع, هذا ما أسألك عنهلسبب ما - ربما هو دائما ملفات Excel, ربما هناك شيء آخر أنا في بعض الأحيان لا يسمح بتغيير نوع البيانات:مربع القائمة المنسدلة هو جرايد و أنا فقط يجب أن يعيش مع ما يفترض Access نوع البيانات الصحيح.

على سبيل المثال, أنا فقط حاولت استيراد كبيرة العش ملف Excel (12000+ الصفوف ، ~200 الأعمدة) في الوصول حيث العمود #105 (أو شيئا من هذا القبيل) كانت مليئة الغالب أرقام (رموز: 1=foo, 2=bar, ، الخ) ، على الرغم من أن هناك عدد قليل من ألفا رموز في هناك أيضا (A=بو ، ب=الآن ، إلخ).الوصول افترضت أنه Number نوع البيانات (حتى بعد ان غيرت Format القيمة في ملف Excel نفسه) وهكذا أعطى لي الأخطاء على تلك ألفا رموز.إذا كنت قد يسمح بتغيير نوع البيانات على الاستيراد ، فإنه من شأنه أن ينقذ لي بعض المتاعب.

أنا لم أطلب شيئا الوصول فقط لن تفعل, أو أنا في عداد المفقودين شيئا ؟ شكرا

تحرير: هناك نوعان من الإجابات أدناه التي تعطي النصائح المفيدة.حفظ ملف Excel كما CSV ثم استيراد التي تعمل بشكل جيد و بسيط مثل كريس OC يقول.نصيحة لتوفير استيراد مواصفات مفيد جدا جدا.ومع ذلك اخترت إعداد التسجيل الإجابة من قبل DK لأن "الإجابة المقبولة".أحببت أنها إجابة لأنه مرة واحدة فقط خطوة التي يمكن استخدامها في حل المشكلة الرئيسية (بعد الوصول بشكل غير صحيح تعيين نوع البيانات).باختصار ، هذا الحل لا يسمح لي أن تغيير نوع البيانات نفسي ، ولكن يجعل الوصول بدقة تخمين نوع البيانات بحيث يكون هناك عدد أقل من القضايا.

هل كانت مفيدة؟

المحلول

هذا قد يكون سبب Excel طائرة سائق الإعدادات الافتراضية.تحقق من مفتاح التسجيل التالي ثم تغيير القيمة الافتراضية 8 إلى 0 معنى "أعتقد عمود نوع البيانات على أساس كل القيم ، ليس فقط أول 8 صفوف."

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"=dword:00000000

يرجى معرفة ما إذا كان هذا يعمل.

نصائح أخرى

هناك عدة طرق للقيام بذلك.الطريقة الأكثر مباشرة هو تحويل .ملف xls إلى .ملف csv في Excel بحيث يمكنك استيراد إلى الوصول باستخدام معالج استيراد النص الذي يسمح لك أن تختار أنواع البيانات في كل عمود أثناء الاستيراد.

فائدة أخرى للقيام بذلك هو أن استيراد csv (أو النص) الملف هو لذلك أسرع بكثير من الاستيراد من ملف xls.إذا كنت تريد الذهاب للقيام بذلك استيراد أكثر من مرة ، حفظ استيراد إعدادات setup كما مواصفات استيراد.(عندما تكون في معالج استيراد النص ، انقر على "خيارات متقدمة..." زر في أسفل اليسار ، ثم انقر على "حفظ باسم" وإعطاء مواصفات اسم لحفظ التغييرات التي أجريتها فقط.)

الوصول يمكن أن تفعل ما تريد, ولكن لا يوجد طريقة مباشرة عن ذلك.سيكون لديك لإدارة بعض مجموعات السجلات, واحد يجري بيانات Excel ، والثاني في النهائي الخاص بك الوصول إلى الجدول.مرة واحدة كل من مجموعات السجلات مفتوحة ، يمكنك نقل البيانات من مجموعة سجلات واحدة إلى أخرى من خلال التصفح الخاص بك بيانات Excel و إضافتها إلى جدول Access.في هذه المرحلة, سيكون من الممكن تغيير نوع البيانات المطلوبة.

عند استيراد من ملفات CSV هل يمكن أن يكون أيضا نظرة على المخطط.ini سوف تجد أنه مع هذا يمكنك التحكم في كل جانب من جوانب عملية الاستيراد.

الوصول سوف تمكنك من تحديد نوع البيانات في عملية الاستيراد.المشكلة هي في "إلحاق" عملية الأوقات التالية ، فإنه لن يسأل عن استيراد إلى نوع البيانات ، وسوف تنسى يمكنك تغييره.وأعتقد أنه هو علة في MS Access.

الوصول سوف تفعل هذا.

في عملية الاستيراد يمكنك تحديد ما نوع بيانات كل عمود.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top