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

نام تاپیک: پیدا کردن بیشترین مقدار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    بهشهر
    پست
    307

    پیدا کردن بیشترین مقدار

    با سلام
    با اکسس می خوام بیشترین رکورد در دیتا بیس SQL را فراخوانی کنم.
    دستور زیر را می نویسم ولی خطا میگیره.جداول لینک شده نیستند.
    دوستان لطفا کمکم کنند

    rst.Open "select Max(Table_2.kod) from Table_2", Cnxn, adOpenKeyset, adLockOptimistic
    Text10 = rst("kod")


    به این دستور ایراد می گیره : Text10 = rst("kod")
    دستور را به صورت Text10 = rst.Fields("kod") می نویسم ولی باز هم ایراد می گیره
    مشکل از کجاست؟؟

  2. #2
    مدیر بخش آواتار amirzazadeh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تبريز
    پست
    1,947

    نقل قول: پیدا کردن بیشترین مقدار

    سلام
    اين كد رو تو يك ماژول كپي كن :
    Function DMax(ByVal strFieldName As String, ByVal strRecSource As String, _
    Optional strCriteria As String) As Long

    ' DMax(expr, domain , criteria)
    ' Esample: vntReturnVal = DMax("Title", "Titles", "Au_ID = " & _
    ' Format(data1.Recordset("Au_ID")))
    '
    '
    ' Argument Description
    ' ----------------------------------------------------------------
    ' expr String expression identifying the field that contains
    ' the data you want to return. Operands in expr can
    ' include the name of a table field.
    '
    ' domain String expression identifying the records that
    ' constitute the record set. It can be a table name,
    ' query name, or SQL expression that returns data.
    '
    ' criteria Optional string expression used to restrict the range
    ' of data on which DMax is performed. For example,
    ' criteria could be the SQL expression's WHERE clause
    ' without the word WHERE. If criteria is omitted, DMax
    ' evaluates expr against the entire record set.
    Dim rs, rs1 As ADODB.Recordset
    Dim Cnxn As ADODB.Connection
    Dim strCnxn, sql As String
    Set Cnxn = New ADODB.Connection

    strCnxn = "Provider='SQLOLEDB';Data Source='.';" & _
    "Initial Catalog='YourDataBaseName';User ID='YourId';Password='YourPass';"
    Cnxn.Open strCnxn
    If strCriteria <> "" Then
    sql = "SELECT " & strFieldName & " FROM " & strRecSource & " where " & strCriteria
    Else
    sql = "SELECT " & strFieldName & " FROM " & strRecSource
    End If
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open sql, Cnxn, adOpenDynamic, adLockOptimistic, 1
    '
    'Dim dsResult As Recordset
    Dim vntCurrentVal As Variant
    On Local Error GoTo Error_DMax:
    With rs

    If Not .EOF Then

    ' Set variable vntCurrentVal
    vntCurrentVal = .Fields(strFieldName)

    Do While Not .EOF

    ' Cycle through each value from the row to find the largest
    If .Fields(strFieldName) > vntCurrentVal Then
    vntCurrentVal = .Fields(strFieldName)
    End If

    .MoveNext
    Loop

    ' Return maximum value found
    DMax = vntCurrentVal
    Else
    DMax = 0
    End If

    .Close
    End With

    DMax_Exit:
    Exit Function

    Error_DMax:
    ' No criteria specified
    If Err <> 3077 Then

    'Display the error and get out
    MsgBox "Error (" & Err & "): " & Error(Err) & " in DMax", _
    vbCritical, APP_NAME

    Resume DMax_Exit:
    Else
    Resume Next
    End If
    End Function

    بعد ميتوني عين تابع Dmax اكسس ازش استفاده كني.

    DON'T START;OTHERWISE DON'T STOP
    .................................................
    قوانين سايت

  3. #3
    مدیر بخش آواتار amirzazadeh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تبريز
    پست
    1,947

    نقل قول: پیدا کردن بیشترین مقدار

    نقل قول نوشته شده توسط mhamedm2008 مشاهده تاپیک
    با سلام
    با اکسس می خوام بیشترین رکورد در دیتا بیس SQL را فراخوانی کنم.
    دستور زیر را می نویسم ولی خطا میگیره.جداول لینک شده نیستند.
    دوستان لطفا کمکم کنند

    rst.Open "select Max(Table_2.kod) from Table_2", Cnxn, adOpenKeyset, adLockOptimistic
    Text10 = rst("kod")


    به این دستور ایراد می گیره : Text10 = rst("kod")
    دستور را به صورت Text10 = rst.Fields("kod") می نویسم ولی باز هم ایراد می گیره
    مشکل از کجاست؟؟
    كد رو يه اين شكل بنويس:
    Text10=rst!kod

    DON'T START;OTHERWISE DON'T STOP
    .................................................
    قوانين سايت

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    بهشهر
    پست
    307

    نقل قول: پیدا کردن بیشترین مقدار

    به این صورت نوشتم ولی باز هم پیغام خطا میده
    عکس های ضمیمه عکس های ضمیمه

  5. #5
    مدیر بخش آواتار amirzazadeh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تبريز
    پست
    1,947

    نقل قول: پیدا کردن بیشترین مقدار

    سلام
    احتمالا مشكل از تابع login هست.پيشنهاد ميكنم براي كنترل اين موضوع كدهاي كانكشن رو مستقيما در رويداد load قرار بديد و بعد دوباره چك كنيد.

    DON'T START;OTHERWISE DON'T STOP
    .................................................
    قوانين سايت

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    بهشهر
    پست
    307

    نقل قول: پیدا کردن بیشترین مقدار

    مستقیم هم قرار دادم ولی نشد.ولی اون تابع قبلی که گذاشتید خیلی چیز عالی هست.سرعت فوق العاده ای هم داره.ممنون

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

  1. سوال: پیدا کردن بیشترین مقدار یک لیست باکس
    نوشته شده توسط IMANAZADI در بخش C#‎‎
    پاسخ: 4
    آخرین پست: چهارشنبه 17 آبان 1391, 17:09 عصر
  2. دستوری برای پیدا کردن بیشترین مقدار یک فیلد
    نوشته شده توسط A.sadeghpour در بخش تحلیل و طراحی بانک اطلاعات
    پاسخ: 3
    آخرین پست: پنج شنبه 08 تیر 1391, 10:51 صبح
  3. سوال: پیدا کردن بیشترین مقدار بوسیله تابع
    نوشته شده توسط Younestalebi در بخش Access
    پاسخ: 3
    آخرین پست: شنبه 29 مرداد 1390, 12:14 عصر
  4. پیدا کردن بیشترین مقدار در دیتابیس
    نوشته شده توسط mehdi4467 در بخش C#‎‎
    پاسخ: 8
    آخرین پست: جمعه 03 اردیبهشت 1389, 22:33 عصر
  5. جستجوی سریع و پیدا کردن max مقدار در کمترین زمان ممکن
    نوشته شده توسط کتایون در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 07 بهمن 1382, 19:34 عصر

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

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