نمایش نتایج 1 تا 14 از 14

نام تاپیک: مشکل در اکسس پروجکت

  1. #1

    مشکل در اکسس پروجکت

    دوستان کد زیر در اکسس پروجکت عمل نمیکنه
    Docmd.RunSQL("delete from table1 where id=[forms]![form1]![text1
    یا
    DCount("[id]","[table1]","[id]=[forms]![form]1![text1]")

    نمی دونم چرا با forms!form!text1 ارتباط برقرار نمکنه تو کوئریها همینطوره ؟

  2. #2
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    نقل قول نوشته شده توسط ykm145
    دوستان کد زیر در اکسس پروجکت عمل نمیکنه
    Docmd.RunSQL("delete from table1 where id=[forms]![form1]![text1
    یا
    DCount("[id]","[table1]","[id]=[forms]![form]1![text1]")

    نمی دونم چرا با forms!form!text1 ارتباط برقرار نمکنه تو کوئریها همینطوره ؟
    این طوری بنویس ببین جواب می گیری

    Docmd.RunSQL("delete from table1 where id=" & [forms]![form1]![text1])
    آخرین ویرایش به وسیله MMAASS : شنبه 12 فروردین 1385 در 01:54 صبح

  3. #3
    ممنون دوست عزیز
    یه اکسس معمولی داریم و یک اکسس پروجکت که برای ایجاد ان در اکسس بعد از new باید project را انتخاب کنید در همین بخش جستجو کنی مطالبی درباره ان نوشته شده
    کد فوق در اکسس معمولی مشکلی نداره(عدم مشکل نوشتاری )
    در اکسس پروجکت (اکسس +اس کیو ال سرور ) عمل نمیکنه کلا forms!form1!text1 برای ان نامفهوم

  4. #4
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    سلام دوست عزیز
    من الان یه نگاهی به اکسس انداختم و تازه متوجه اکسس پروجکت شدم.
    نمی دونم چرا قبلا اونو ندیده بودم
    البته اینو هم بگم چون دیگه با اکسس کار نمی کنم به خاطر اینه.
    اما از چیزی که گفتین ممنونم.
    بالاخره فهمیدم اکسس پروجکت چیه.

  5. #5
    ممنون دوست عزیز
    من نیز از اکسس بعنوان یک ابزار در کنار شغل اصلی استفاده میکنم والا اگه صرفا برنامه نویسی وتوسعه نرم افزار مد نظرم بودم برنامه چند منظوره از قبیل برنامه نویسی برای اینترنت موبایل بانکهای اطلاعاتی بزرگ و... visual studio 2005 را در دستور کارم قرار میدادم

  6. #6
    دوستان لطفا کمک کنید

  7. #7
    کسی نمی خواهد جواب بده ؟!!!!

  8. #8
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    دوست عزیز
    اون کدی رو که من براتون گذاشتم دوباره امتحان کردم کامل جواب داد. (در همون اکسس پروجکت)
    الان هم این کد ها رو که پایین هست دوباره امتحان کردم بازم در همون اکسس پروجکت جواب می ده.
    شما نباید قسمتی رو که از فرم میخونین مستقیما تو رشته بذارین بلکه باید مقدارش رو با رشته قبلی کانکیت کنین (الصاق کنین) من بهتون کد اصلاح شده رو دادم اما گفتین جواب نمی ده ، نمی دونم شما چرا جواب نمی گیرین. کد رو از اینجا کپی کنین و تو برنامه پیست کنین تا ببینین اشکال از کجاست.
    در ضمن تابع DCount یه مقدار برگشتی داره که حتما باید یه جایی گذاشته بشه.
    به هر حال این کد کاملا جواب میده.
    Dim x As Integer
    DoCmd.RunSQL ("delete from table1 where id=" & [Forms]![form1]![Text1])
    x = DCount("[id]", "[table1]", "[id]=" & [Forms]![form1]![Text1])

    اما یادتون باشه مقدار x در این کد همیشه 0 است. چون رکوردها با id ایی که در تکست باکس نوشته شده پاک می شن و بعد تعدادشون محاسبه می شه در صورت لزوم کد رو ویرایش کنین.
    اگه بازم حل نشد بگین.
    موفق باشین.
    آخرین ویرایش به وسیله MMAASS : جمعه 18 فروردین 1385 در 14:52 عصر

  9. #9
    مرسی دوست عزیز جواب داد من فکر میکردم چون در اکسس معمولی جواب میداد مشکل نوشتاری نداشت در حالیکه که در کد شمامنظور از & یه چیزی دیگه است که اگه لطف کنی بیشتر در مورد ان توضیح بدهی ممنون میشم شاید قسمت بوده که شما بااکسس پروجکت اشنا بشید ومنم من بعد زود قضاوت نکنم
    اگر ممکنه این کد با همان روش اصلاح کن (کدها رو در اینجا چجوری تایپ میکنی که علامتهای از این قبیل ],(,",.. سر جای خودش ؟)
    INSERT INTO m ( gabzid, radifbank, datcurrent, mablag, fish, jadval, flag )
    SELECT Sheet1.CHECKNO, Sheet1.SHEETNO, Sheet1.LDATE, Sheet1.AMOUNT, [CHECKNO] & "#" & [AMOUNT] AS Expr1, "b" AS Expr2, 1 AS Expr3
    FROM Sheet1
    WHERE (((Sheet1.LDATE) Between [forms]![daramd]![t0] And [forms]![daramd]![t2]));
    بسیار از شما دوست عزیز سپاسگذارم
    آخرین ویرایش به وسیله ykm145 : شنبه 19 فروردین 1385 در 00:24 صبح

  10. #10
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    نقل قول نوشته شده توسط ykm145
    در حالیکه که در کد شمامنظور از & یه چیزی دیگه است که اگه لطف کنی بیشتر در مورد ان توضیح بدهی ممنون میشم
    ببینین جناب ykm145 اگه مثلا [forms]![daramd]![t0] رو با "" به صورت یه رشته در بیاری تا اینکه بدون "" بنویسی خیلی فرق داره. بدون "" مقدارش محاسبه می شه اما با "" همون می شه. گیج که نشدین؟

    نقل قول نوشته شده توسط ykm145
    قسمت بوده که شما بااکسس پروجکت اشنا بشید ومنم من بعد زود قضاوت نکنم
    چه قضاوتی؟

    نقل قول نوشته شده توسط ykm145
    کدها رو در اینجا چجوری تایپ میکنی که علامتهای از این قبیل ],(,",.. سر جای خودش ؟
    برای نوشتی کد به صورت صحیح ابتدا مد "حالت پیشرفته" رو انتخاب کنین از توی تول باری که اونجا هست می تونین قسمتی رو که برای نوشتن کد است رو انتخاب کنین و کدتون رو اونجا بنویسین این طوری کد به صورت صحیح نوشته می شه و بهم نمی ریزه.

    نقل قول نوشته شده توسط ykm145
    اگر ممکنه این کد با همان روش اصلاح کن
    چشم
    اینم کد :

    str = "INSERT INTO m (gabzid,radifbank,datcurrent,mablag,fish,jadval,fl ag) "
    str = str & "SELECT CHECKNO,SHEETNO,LDATE,AMOUNT,[CHECKNO] & '#' & [AMOUNT] AS Expr1, 'b' AS Expr2, 1 AS Expr3 "
    str = str & "FROM Sheet1 "
    str = str & "WHERE LDATE Between '" & [Forms]![daramd]![t0] & "' And '" & [Forms]![daramd]![t2] & "'"
    DoCmd.RunSQL (str)

    اگه دیدین جواب نداد بگین تا اصلاح کنم.

  11. #11
    ممنون دوست عزیز
    میدانم اگر داخل جفت " قراربدهی عبارت بصورت رشته در نظر گرفته میشه وبدون ان val ولی اخه چرا در اکسس معمولی عمل میکنه اینجا ریزبینتر میشه .....
    راستشو بخوای گیج شدم ! شرمنده یه ذره بیشتر توضیح بده
    منظورم از زودقضاوت کردن اینکه اول هرپیشنهادی را امتحان کنم سپس درباره عدم درستی ان اظهار نظر کنم
    کدها را امتحان میکنم اگه به مشکلی برخوردم دوباره زحمت میدم خدمتون
    مخلص شما
    آخرین ویرایش به وسیله ykm145 : یک شنبه 20 فروردین 1385 در 10:27 صبح

  12. #12
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    نقل قول نوشته شده توسط ykm145
    میدانم اگر داخل جفت " قراربدهی عبارت بصورت رشته در نظر گرفته میشه وبدون ان val ولی اخه چرا در اکسس معمولی عمل میکنه اینجا ریزبینتر میشه .....
    در اکسس معمولی جواب میده؟
    این طور نوشتن در هیچ زبانی جواب نمیده. همه زبانها بین گذاشتن "" برای یک عبارت و نذاشتن اون تفاوت می ذارن.
    یه مثال می زنم که بهتر متوجه بشین :

    Dim str1,str2,str3 as String
    str1 = "Salam"
    str2 = str1
    str3 = "str1" *

    در اینجا str2 برابر با salam است ، یعنی مقداری که در str1 است، اما str3 برابر با str1 است نه با مقدار آن. یعنی در خط * دار مقدار str3 برابر با مقدار str1 نیست.
    نمی دونم چقد خوب توضیح دادم امیدوارم که این بار متوجه شده باشین.

  13. #13
    ممنون دوست عزیز
    پس از منظور تک کوتیشن (')چی ؟
    ضمنا کدها error میده حاشیه زرد رنگ به اولین خط انتقال پیدا میکنه البته بصورت تکی بکار بردن "و' برای between .. and جواب میده

  14. #14
    کاربر دائمی آواتار MMAASS
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    یه گوشه دنیا
    پست
    231
    در بعضی از زبانها رشته ها با سینگل کوتیشن و در بعضی زبانها با دابل کوتیشن نشون داده می شن.
    مثلا تو VB و VBA که تو اکسس ازش استفاده می شه رشته ها با دابل کوتیشن و در SQL که ما عبارات SQL رو می نویسیم هم با سینگل و هم با دابل کوتیشن نوشته می شن.
    پس در VB (در سطح کدنویسی فرم) حتما باید رشته ها بین " " قرار بگیرن و اگه با ' ' نوشته بشن VB اونا رو به صورت توضیحات در نظر می گیره و اگه دقت کنی اونا رو به رنگ سبز در میاره.
    و اون قسمتی که با ' نوشته شده و درون رشته های " " است برای SQL است. یعنی از همه قسمتهای نوشته شده یه عبارت ساخته می شه برای SQL که قسمتهایی که باید برای SQL به عنوان رشته درنظر گرفته بشن در ' ' هستن . ( که البته همون طور که گفتم می تونین اونا رو هم در ' ' و هم در " " بکار ببرین اما به خاطر اینکه بکار بردن "" یه مقدار تو رشته های vb زحمت داره برای مشخص کردن رشته های SQL از ' ' استفاده می کنیم. البته بکار بردن " " در " " یه کمی تسلط می خواد. نه که سخته)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •