Skip to main content

AccessTr.neT


Futbolcular İstatistiği

Futbolcular İstatistiği

#1
Futbolcuları Hesapla isimli linkini eklediğim dosyada bazı sütunlara formül uygulayamadım. Acaba ne yazılabilir? Yardımcı olan arkadaşlara teşekkür ederim. Dosya büyük olduğu için link eklemek zorunda kaldım. Örnek Dosya Linki
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 19/11/2020, 18:33, Düzenleyen: yyhy.
Cevapla
#2
1. Bunu formül ile yapamazsınız kod yazılması gerekir.
2. Yapmak istediğiniz net anlaşılmıyor ve mantık hatası da içeriyor. Örneğin Ülkeler sayfası B sütununda ülke kaydı varken G sütununa yeniden ülke yazdırmak anlamsız, bir diğeri en çok kullanılan pozisyon diyorsunuz en başta Afganistan 4 ayrı pozisyonu var herbiri eşit en çok en az kriteri neye göre belirlenecek?
Cevapla
#3
Ülkeler sayfası B sütununda ülke isimleri var doğrudur, Futbolcular sayfası D sütunundaki ülkelere göre yine Futbolcular sayfasındaki L sütundaki ülkelerin almış oldukları pozisyonları formülle buldurup Ülkeler sayfasında G sütununa yazdırmak istiyorum. Örneğin 2,3,4 tane varsa onları da yine aynı hücreye birleştirerek formülle veya kodla getirebilir miyiz?
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 20/11/2020, 16:15, Düzenleyen: yyhy.
Cevapla
#4
istediğiniz 2 sütunu yaptım sonuncu kaldı ama maalesef çok ağır çalışıyor
dilerim işinize yarar.
Maximum pozisyon

Visual Basic Code
Public Function MaxPozisyon(Dgr As String) As String
Dim SQL As String 'Afghanistan
Dim ADO_RS As ADODB.Recordset
MaxPozisyon = "KAYIT YOK"

SQL = "SELECT TOP 1 [F12], count([F12])" & _
      "FROM [Futbolcular$A3:L] " & _
      "WHERE ([F4]='" & Dgr & "') " & _
      "GROUP BY [F12] " & _
      "ORDER BY count([F12]) DESC"

Set ADO_RS = New ADODB.Recordset

ADO_RS.Open SQL, ADO_CN, 3, 1

If ADO_RS.RecordCount = 0 Then GoTo skipfile:

ADO_RS.MoveLast
ADO_RS.MoveFirst
   With ADO_RS
      Do Until .EOF
         MaxPozisyon2 = MaxPozisyon2 & "; " & ADO_RS(0)
         .MoveNext
      DoEvents
      Loop
   End With
   
   MaxPozisyon = Trim(Mid(MaxPozisyon2, 2))
   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
skipfile:
ADO_RS.Close
Set ADO_RS = Nothing
'Set WS = Nothing
End Function

En yaşlı fonksiyonu

Visual Basic Code
Public Function EnYasli(Dgr As String) As String
Dim SQL As String 'Afghanistan
Dim ADO_RS As ADODB.Recordset
EnYasli = "KAYIT YOK"
Baglan
SQL = "SELECT Yasli.F4, Yasli.EnÇokF3, [Futbolcular$A3:l].F2 " & _
      "FROM (SELECT [Futbolcular$A3:L].F4, Max([Futbolcular$A3:L].F3) AS EnÇokF3 " & _
      "FROM [Futbolcular$A3:L] " & _
      "GROUP BY [Futbolcular$A3:l].F4) as  Yasli  " & _
      "INNER JOIN [Futbolcular$A3:L] ON ([Futbolcular$A3:l].F4 = Yasli.F4) AND  " & _
      "(Yasli.EnÇokF3 = [Futbolcular$A3:l].F3) AND (Yasli.F4 = [Futbolcular$A3:l].F4) AND (Yasli.EnÇokF3 = [Futbolcular$A3:l].F3) " & _
      "WHERE (((Yasli.F4)='" & Dgr & "')) " & _
      "ORDER BY Yasli.F4;"

Set ADO_RS = New ADODB.Recordset

ADO_RS.Open SQL, ADO_CN, 3, 1

If ADO_RS.RecordCount = 0 Then GoTo skipfile:

ADO_RS.MoveLast
ADO_RS.MoveFirst
   With ADO_RS
      Do Until .EOF
         EnYasli2 = EnYasli2 & "; " & ADO_RS(2) & " - " & ADO_RS(1)
'         Debug.Print EnYasli2
         .MoveNext
      DoEvents
      Loop
   End With
   
   EnYasli = Trim(Mid(EnYasli2, 2))
   ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
skipfile:
ADO_RS.Close
Set ADO_RS = Nothing
End Function

.rar Futbolcuları Hesapla_hy.rar (Dosya Boyutu: 4,24 MB | İndirme Sayısı: 1)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da