Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
18/04/2019 13:00
Konu Sahibi
hlojan
Yorumlar
4
Okunma
252
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
hlojan

hlojan

Üye
78619
 Belirtilmemiş
 3
 4
 26/12/2015
0
 Afyon
 
 Ofis 2007
 22/07/2019,16:59
Çözüldü 
Merhabalar,

Access kullanmaya yeni başladım.

Örnek tabloda 2 alan var. 3. cü alana otomatik =alan1&metneçevir(alan2;0000)  yapmak istiyorum

Baya araştırdım tahminim ararken doğru kelimeleri kullanmadım

Varsayılan değere [ALAN1] & [ALAN2] gibi kombinasyonlar denedim hep hata aldım

İyi Çalışmalar




ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.116
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,10:26
Merhaba, access'e hoşgeldiniz. Metne çevir işleci için modül eklemeniz gerekiyor. Modülü tabloda çağıramazsınız. 
Bu işlemi form ile kayıt eklerken veya sorgu ile yapabilirsiniz. Sorgu ile yapılmış hali ektedir.
Veri kaydı yaptığınız formu ekleyin. Form üzerinden çözüm üretelim. Bu Excel tablosu değil. Accessde tablolar veri depolamak için kullanılır, açılıp veri girişi yapılmaz.


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

...........
access_delisi

access_delisi

Aktif Üye
20
Ah.... Fu.... Ce....
 41
 63
 400
 30/10/2008
17
 -
 Yönetici
 Ofis 2016 64 Bit
 08/07/2019,13:30
kod içerisindeki metneçevir nedir acaba?


SÖZ VERİYORUM... USLU DURUCAM...

halily

halily

Uzman
65596
ha....
 26
 1.286
 30/07/2014
215
 -
 
 Ofis 2019 64 Bit
metne çevir prosedürü modülde yer alıyor,
sayısal verileri metne çevirmek için kullanılıyor
13=on üç

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Public Function Sayiyi_Metne_Cevir(Sayi As Double) As String
On Error GoTo Hata_Olustu_Satiri
'Bu fonksiyon rakkam kullanilarak yazilan sayiyi metne cevirir.
'Sonuc Sayiyi_Metne_Cevir fonksiyonunun degeri olarak geri doner.
'Bu fonksiyon kesirli sayilari, yuvarladiktan sonra isleme sokar.

Dim S_Metin As String, Isaret As String
Dim S_Rakkam As Double, M_Rakkam As Double
Dim Sayac As Byte

'Fonksiyon tam sayilar icin calistigindan
'Sayi yuvarlanarak tam sayiya cevriliyor
Sayi = Round(Sayi)

Select Case Sayi
Case 0:
'Sayi sifir. Fonksiyon degerini sifir dondur, fonksiyondan cik
Sayiyi_Metne_Cevir = "sıfır"
GoTo Cikis_Satiri
Case Is < 0:
'Sayi negatif. Isareti degerini eksi yap. Sayiyi pozitife cevir, isleme devam et
Isaret = "eksi"
Sayi = -1 * Sayi
Case Is > 0:
'Sayi pozitif. Isleme devam et
Isaret = ""
End Select

'Islemlerde mod fonksiyonu kullanilacaginda overflow u engellemek icin
'Sayi 9 haneli sayilara bolunerek isleme sokuluyor
S_Rakkam = Sayi - 1000000000 * Round(0.000000001 * Sayi, 0)
If S_Rakkam < 0 Then
S_Rakkam = S_Rakkam + 1000000000
End If
M_Rakkam = S_Rakkam

'Donguye baslamadan once Sayac degerini 1'e esitle
'Sayac, sagdan itibaren kacinci 3 hanenin isleme girdigini gosterir.
Sayac = 1

Do While Sayi > 0
If (S_Rakkam Mod 1000) > 0 Then
Select Case Sayac
Case 1: S_Metin = UcHane(S_Rakkam Mod 1000)
Case 2:
'Binler bolumunde ozel bir durum var. Eger bu uc hane 001 seklinde olursa
'birbin ifadesi kullanilmadigi icin bu durumda sadece bin yazdiracagiz
If (S_Rakkam Mod 1000) = 1 Then
S_Metin = "bin" & S_Metin
Else
S_Metin = UcHane(S_Rakkam Mod 1000) & "bin" & S_Metin
End If
Case 3: S_Metin = UcHane(S_Rakkam Mod 1000) & "milyon" & S_Metin
Case 4: S_Metin = UcHane(S_Rakkam Mod 1000) & "milyar" & S_Metin
Case 5: S_Metin = UcHane(S_Rakkam Mod 1000) & "trilyon" & S_Metin
Case 6: S_Metin = UcHane(S_Rakkam Mod 1000) & "katrilyon" & S_Metin
'Bu bolumu ayni mantikla devam ettitmek mumkun ama Access
'15 haneden buyuk sayilarda yuvarlama yapacagi icin sonuc dogru olmaz
'Bu bolum algoritma olarak dogrudur.
Case Else
End Select
End If

'Isi biten sagdaki uc hane siliniyor
S_Rakkam = (S_Rakkam - (S_Rakkam Mod 1000)) / 1000

'Eger sag taraftaki dokuz hanenin islemi bittiyse
'sonraki dokuz hane S_Rakkam degerine esitleniyor
If Sayac Mod 3 = 0 Then
Sayi = (Sayi - M_Rakkam) / 1000000000
S_Rakkam = Sayi - 1000000000 * Round(0.000000001 * Sayi, 0)
If S_Rakkam < 0 Then
S_Rakkam = S_Rakkam + 1000000000
End If
M_Rakkam = S_Rakkam
End If

Sayac = Sayac + 1
Loop

Sayiyi_Metne_Cevir = Isaret & S_Metin

Cikis_Satiri:
Exit Function

Hata_Olustu_Satiri:
MsgBox Error$
Resume Cikis_Satiri

End Function




...........
access_delisi

access_delisi

Aktif Üye
20
Ah.... Fu.... Ce....
 41
 63
 400
 30/10/2008
17
 -
 Yönetici
 Ofis 2016 64 Bit
 08/07/2019,13:30
cevabiniz icin cok teşekkür ederim.


SÖZ VERİYORUM... USLU DURUCAM...


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Aynı Tabloda İkitane Otomatik Sayı Alanı Verme respectful 13 841 22/04/2019, 23:36
Son Yorum: halily
Çözüldü Komut Satırında Tablo Ve Alanı Bulamıyor fkilic76 6 301 13/03/2019, 01:00
Son Yorum: fkilic76
Çözüldü Acces Tablo Alanı Boş İse,sorguda Boş Olarak Gözükmeli alimadam 3 281 11/12/2018, 15:54
Son Yorum: XEvilBestSow
Çözüldü Tabloda Birden Fazla Alanı Sorguda Tek Alanda Listeleme hbal09 2 284 06/11/2018, 14:22
Son Yorum: hbal09
Çözüldü Raporda İstenmeyen Alanı İptal Etme (raporda Gözükmemesi) alimadam 2 252 26/10/2018, 14:48
Son Yorum: Allback

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.