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

نام تاپیک: ریختن یک فیلد در آرایه

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    Question ریختن یک فیلد در آرایه

    با سلام
    یک جدول داریم شامل یک فیلد عددی از نوع Integer بنام age
    در کدنویسی vba چطوری میتونم مثلا فیلدهای که بزرگتر از 15 هستند رو بخونم و در یک آرایه بریزم

  2. #2
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ریختن یک فیلد در آرایه

    نقل قول نوشته شده توسط IMANAZADI مشاهده تاپیک
    با سلام
    یک جدول داریم شامل یک فیلد عددی از نوع Integer بنام age
    در کدنویسی vba چطوری میتونم مثلا فیلدهای که بزرگتر از 15 هستند رو بخونم و در یک آرایه بریزم
    شما می تونید مقادیر مورد نظر رو در یک کوئری هم بدست بیارید .
    تابع زیر با پارامترهای نام جدول ونام فیلد مقادیر بزرگتر از 15 را در قالب یک آرایه برمی گرداند .
    میتونید آنرا به یک متغیر واریانت منتسب کنید


    Function GetFieldValuesInArray(TableName As String, FieldName As String)
    Dim rs As Recordset, arr() As Integer, i As Integer
    Set rs = CurrentDb.OpenRecordset("SELECT " & FieldName & " FROM " & TableName & " WHERE " & FieldName & " > 15")
    rs.MoveLast: rs.MoveFirst
    ReDim arr(rs.RecordCount - 1)
    Do Until rs.EOF
    arr(i) = rs(0)
    i = i + 1
    rs.MoveNext
    Loop
    GetFieldValuesInArray = arr
    End Function
    مثال:
    myVar = GetFieldValuesInArray("MyTableName", "MyFieldName")

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: ریختن یک فیلد در آرایه

    با تشکر از شما
    دوست گرامی کار این دو کد چیه ؟

    rs.MoveLast
    rs.MoveFirst


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

  4. #4
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ریختن یک فیلد در آرایه

    نقل قول نوشته شده توسط IMANAZADI مشاهده تاپیک
    با تشکر از شما
    دوست گرامی کار این دو کد چیه ؟

    rs.MoveLast
    rs.MoveFirst


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

    اول بعد از خط سوم یک خط اضافه کنید :
    If rs.RecordCount=0 then Exit Function

    چون در صورت عدم وجود رکورد درجدول باعث RunTime Error میشه .

    در مورد سوال تان قبل وبعد از کدهای فوق عبارت Debug.Print rs.RecordCount رو تایپ کنید و بعد از صدا زدن تابع ببینید در Immediate Window چه مقادیری چاپ می شود .
    معمولا اولین مقدار یک است و دومی تعداد واقعی رکوردها .

    در بعضی از کوئریها درصورتی که از روش فوق استفاده نکنیم ،رکوردست فقط اولین رکورد را برمی گرداند .

تاپیک های مشابه

  1. ریختن یک فیلد در edit
    نوشته شده توسط rsheytoonak در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: یک شنبه 09 آبان 1389, 15:00 عصر
  2. ریختن اطلاعات دیتاست در آرایه
    نوشته شده توسط SRS534 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 09 شهریور 1389, 15:00 عصر
  3. ریختن دو فیلد جدول در یک ستون گرید ویو
    نوشته شده توسط hojjat_gh در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 17 شهریور 1387, 12:23 عصر
  4. ریختن چند فیلد دیتابیس در چند متغیر
    نوشته شده توسط mahmoodjoon در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: سه شنبه 04 دی 1386, 11:07 صبح
  5. ریختن یک رشته در آرایه
    نوشته شده توسط hamidafs در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: سه شنبه 21 آذر 1385, 16:57 عصر

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

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