iyi akşamlar
11 rakamlı sayılardan hangilerinin tc no olup olamayacağını kontrol edebildiğimize göre
rasgele tc no üretebilirmiyiz
teşekkürler
@benbendedeilem
For kayitx = 10000000000# To 99999999999#
If TCKimlikNoYazimKontrol(kayitx) = False Then
Me.SUNUC = "HATALI"
Me.TCNO = kayitx
Else
Me.SUNUC = "GERÇEK"
Me.TCNO = kayitx
End If
DoCmd.GoToRecord , , acNewRec
Next
For kayitx = 10000000000# To 99999999999#
If TCKimlikNoYazimKontrol(kayitx) = False Then GoTo 50
Me.TCNO = kayitx
DoCmd.GoToRecord , , acNewRec
50
Next
Option Compare Database
Private Function tcknkontrol(tckn As Double)
Dim dizi(1 To 9) As Integer
gecici = Int(tckn / 100)
gecici2 = Int(tckn / 100)
For I = 9 To 1 Step -1
dizi(I) = gecici2 Mod 10
gecici2 = Int(gecici2 / 10)
Next I
deg1 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
deg2 = dizi(8) + dizi(6) + dizi(4) + dizi(2)
toplam = deg1 * 3 + deg2
kontrol1 = (10 - (toplam Mod 10)) Mod 10
deg1 = kontrol1 + dizi(8) + dizi(6) + dizi(4) + dizi(2)
deg2 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
toplam = deg1 * 3 + deg2
kontrol2 = (10 - (toplam Mod 10)) Mod 10
gecici = gecici * 100 + kontrol1 * 10 + kontrol2
If gecici = tckn Then tcknkontrol = True Else tcknkontrol = False
End Function
Private Function rastgelets(altsinir, ustsinir As Double) As Double
Randomize
rastgelets = Int((ustsinir - altsinir + 1) * Rnd + altsinir)
End Function
Private Sub Command2_Click()
Dim a As Double
a = 10000000000#
While tcknkontrol(a) = False
DoEvents
a = rastgelets(10000000000#, 99999999999#)
Wend
Me.tcnosu = a
End Sub
Private Sub Form_Load()
'Shell "TASKKILL /F /IM excel*"
Dim a As Double
a = 10000000000#
While tcknkontrol(a) = False
DoEvents
a = rastgelets(10000000000#, 99999999999#)
Wend
Me.tcnosu = a
End Sub